如何在公共registry中创build一个基于git标签的Docker镜像?
我正在构build一个使用Docker的持续部署策略。 我的代码托pipe在Github上,当我推入git时,Dockerregistry开始自动生成。 默认设置是当我推到主人时开始build立,并用“最新”标签创build一个图像。 这很好,但我也希望能够在git中标记提交并基于此创build一个图像。 在Dockerregistry网站上似乎有一些function,在Edit Automated Build设置页面上,我可以为typesselect“标记”,并提供静态标记名称。
如何让Docker标签名称与Git标签名称相同?
目标是能够标记特定的版本,所以有一个版本的历史。
您可以在Dockerregistry中的“自动构build”设置下执行此操作。 默认情况下,这会根据您的“主”分支构build一个名为“latest”的构build版本,但您也可以为特定的git标记添加自动构build版本。 下面的图片显示了相关的屏幕
命令行中最简单的解决scheme是一个嵌套的git-rev命令:
docker tag <image> <image>:$(git rev-parse --short HEAD)"
给你例如
<image> = myImage >> myImage:67df348
我有同样的问题,我已经通过使用这个插件sorting:
https://wiki.jenkins-ci.org/display/JENKINS/EnvInject+Plugin
这不是非常漂亮的解决scheme,但它的工作原理如下:
1)执行shell: echo TAG=${GIT_BRANCH#*/} > docker_tag
2) 注入环境variables属性文件path: docker_tag
3)在https://wiki.jenkins-ci.org/display/JENKINS/CloudBees+Docker+Build+and+Publish+plugin上使用${TAG}