首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从.drone.yml中建立码头形象?

如何从.drone.yml中建立码头形象?
EN

Stack Overflow用户
提问于 2016-08-07 12:41:36
回答 1查看 3.8K关注 0票数 1

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

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

有人能告诉我一个简单的方法来构建.drone.yml吗?谢谢

EN

回答 1

Stack Overflow用户

发布于 2016-08-20 23:58:13

请注意,这个答案适用于无人机0.5版

在成功完成构建时,可以使用Docker插件构建和发布Docker映像。将Docker插件作为步骤添加到.drone.yml文件的构建管道部分:

代码语言:javascript
复制
pipeline:
  build:
    image: golang
    commands:
      - go build
      - go test
  publish:
    image: plugins/docker
    repo: foo/bar

在许多情况下,您将希望将此步骤的执行限制在某些分支上。这可以通过添加运行时条件来完成:

代码语言:javascript
复制
  publish:
    image: plugins/docker
    repo: foo/bar
    when:
      branch: master

为了让无人机发布,您需要向您的码头注册中心提供无人机凭据。这些凭据可以直接在yaml文件中声明,但通常不建议将这些值存储在yaml中的纯文本中:

代码语言:javascript
复制
  publish:
    image: plugins/docker
    repo: foo/bar
    username: johnsmith
    password: pa55word
    when:
      branch: master

您也可以使用内置的秘密存储提供凭据。秘密可以在每个存储库的基础上使用无人机命令行实用工具添加到秘密存储中:

代码语言:javascript
复制
  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中插入秘密:

代码语言:javascript
复制
  publish:
    image: plugins/docker
    repo: foo/bar
    username: ${DOCKER_USERNAME}
    password: ${DOCKER_PASSWORD}
    when:
      branch: master
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38814244

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档