【发布时间】:2017-09-06 00:51:51
【问题描述】:
我在自托管系统中使用 Drone CI (0.7)。它已连接到 GitLab 和我的私人注册表并且运行良好!
但是,我想对 .drone.yml 文件做更多的事情。尤其是在将图像发布到注册表时。
文档显示了如何执行substitution,但没有解释如何设置这些变量。以下是文档中的示例:
pipeline:
docker:
image: plugins/docker
+ tags: ${DRONE_TAG}
这正是我想做的。在 repo(在发布分支上)创建一个 git 标签,并让该标签成为我的 Docker 映像的标签。
我试过git tag -a v1.0 -m "Initial release" 然后git push origin v1.0。当我为存储库设置 Tag Hooks 时,Drone CI 构建开始,但是当构建完成并将图像发布到注册表时,标签设置为 latest。推送常规代码更改提交时也会发生这种情况。
这是需要使用 CLI 完成的事情,还是我的 .drone.yml 文件中缺少某些内容(发布在下面)?它看起来像我需要设置的环境变量,但在提交代码以开始构建之前必须设置它(我假设)似乎很奇怪......
感谢您的任何帮助!
pipeline:
build:
image: node:latest
commands:
- npm install
- npm test
docker:
image: plugins/docker
repo: private.registry.com/tester
registry: private.registry.com
secrets: [ docker_username, docker_password ]
tags: ${DRONE_TAG}
when:
branch: release
【问题讨论】:
标签: drone.io