我在自托管系统中使用 Drone CI (0.7)。它连接到 GitLab 和我的私人注册表并且工作得很好!
但是,我想对.drone.yml
文件做更多的事情。尤其是在将图像发布到注册表时。
文档展示了如何进行替换,但没有解释这些变量是如何设置的。以下是文档中的示例:
pipeline:
docker:
image: plugins/docker
+ tags: ${DRONE_TAG}
这正是我想做的。在 repo(在发布分支上)创建一个 git 标签,并让该标签成为我的 Docker 映像的标签。
git tag -a v1.0 -m "Initial release"
当时我试过了git push origin v1.0
。Drone CI 构建在我Tag Hooks
为存储库设置好之后开始,但是当构建完成并将图像发布到注册表时,标签设置为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