gpt4 book ai didi

docker - 如何从.drone.yml构建docker镜像?

转载 作者:行者123 更新时间:2023-12-02 18:46:51 26 4
gpt4 key购买 nike

我有一个(.drone.yml)测试文件,我想从中构建一个docker镜像。根据文档,我必须使用无人机来构建它。

我尝试了本教程(https://www.digitalocean.com/community/tutorials/how-to-perform-continuous-integration-testing-with-drone-io-on-coreos-and-docker)和其他几本教程,但都失败了。

谁能告诉我一个简单的方法来构建.drone.yml!
谢谢

最佳答案

请注意,此答案适用于无人机版本0.5

成功完成构建后,您可以使用Docker插件来构建和发布Docker镜像。您将Docker插件添加为.drone.yml文件的构建管道部分中的步骤:

pipeline:
build:
image: golang
commands:
- go build
- go test
publish:
image: plugins/docker
repo: foo/bar

在许多情况下,您将希望将此步骤的执行限制为某些分支。这可以通过添加运行时条件来完成:
  publish:
image: plugins/docker
repo: foo/bar
when:
branch: master

您需要为无人机提供Docker注册表凭据,以便无人机发布。这些凭证可以直接在yaml文件中声明,尽管通常不建议将这些值以纯文本格式存储在yaml中:
  publish:
image: plugins/docker
repo: foo/bar
username: johnsmith
password: pa55word
when:
branch: master

您也可以使用内置的 secret 存储区提供凭据。可以使用Drone命令行实用程序在每个存储库的基础上将 secret 添加到 secret 存储中:

  export DRONE_SERVER=http://drone.server.address.com
export DRONE_TOKEN=...

drone secret add \
octocat/hello-world DOCKER_USERNAME johnsmith

drone secret add \
octocat/hello-world DOCKER_PASSWORD pa55word

drone sign octocat/hello-world

然后在rutnime的Yaml中插入 secret :
  publish:
image: plugins/docker
repo: foo/bar
username: ${DOCKER_USERNAME}
password: ${DOCKER_PASSWORD}
when:
branch: master

关于docker - 如何从.drone.yml构建docker镜像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38814244/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com