如何在公共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上使&#x7528;${TAG}