如何从e.drone.yml构建docker镜像



我有一个(.done.yml(测试文件,我想从中构建一个docker映像。根据文件,我必须用无人机建造它。

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

有人能告诉我一个简单的建造方法吗!感谢

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

您可以使用Docker插件来构建并在构建成功时发布Docker镜像。在.drone.yml文件的构建管道部分添加Docker插件作为步骤:

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

您也可以使用内置的秘密存储提供凭据。可以使用无人机命令行实用程序将机密添加到每个存储库的机密存储中:

  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中插入秘密:

  publish:
    image: plugins/docker
    repo: foo/bar
    username: ${DOCKER_USERNAME}
    password: ${DOCKER_PASSWORD}
    when:
      branch: master

相关内容

  • 没有找到相关文章

最新更新