2016-09-19 60 views
1

我有一个jenkins实例(实际上在docker中运行)用于我的连续集成。将标签添加到詹金斯的码头图像

jenkins服务器在外部码头主机上构建码头图像,测试它们,然后将它们推送到标记为my-app:tested

现在,当我构建一个版本时,我想重新标记docker图像从vX.X。我做不是想用新的标记重建图像,我想重新标记现有的图像。

jenkins怎么可以做到这一点?我正在浏览jenkins插件,找不到任何具有此功能的内容。

回答

1

由于您没有链接到任何您使用的插件,我不能轻易地说他们是否可以重新标记现有图像,但是可以通过基于shell的作业进行。

如果您在Jenkins中使用shell(bash或类似的)脚本,您可以使用标准docker命令轻松做到这一点,以标记现有图像。如果你的我的,应用程序:为您打造詹金斯工作测试图像已经在本地缓存可以运行:

docker login -u $USER -p $PASSWORD <myregistry.example.org> 
docker pull my-app:tested 
docker tag my-app:tested my-app:vX.X 
docker push my-app:vX.X 

如果我的应用程序内:测试是针对詹金斯工作,你可以省略docker pull命令在本地缓存。请参阅docker tag documentation了解更多信息。如果这个基于shell命令的工作流程不适合你的基于插件的构建工作流程,我不知道你会怎么做。

我并不亲自使用Jenkins或Jenkins插件来构建Docker镜像,因此我不熟悉在Jenkins中如何构建Docker镜像的插件。其他人可能能够帮助您使用基于插件的构建作业。