将标签添加到jenkins的docker图像

我有一个jenkins实例(实际上在Docker中运行),用于我的持续集成。

jenkins服务器在外部docker主机上构builddocker图像,testing它们,然后将它们推送到使用my-app:tested标记my-app:tested

现在,当我构build一个版本时,我想重新将Docker镜像从testing版本标记为vX.X 我不想用新的标记重build图像,我想重新标记现有的图像。

jenkins怎么能做到这一点? 我正在通过jenkins插件,并找不到任何与此function。

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

如果您在Jenkins中使用shell(bash或类似的)脚本,您可以使用标准docker命令轻松完成此操作,以标记现有图像。 如果你的my-app:test image已经在本地caching了jenkins的构build作业,你可以运行:

 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 

如果my-app:testing在本地caching为jenkins作业,则可以省略docker docker pull命令。 有关更多信息,请参阅docker标签文档 。 如果这个基于shell命令的工作stream程不适合你的基于插件的构build工作stream程,我不知道你会怎么做。

我不亲自使用Jenkins或Jenkins插件来构buildDocker镜像,所以我不熟悉如何在Jenkins中构buildDocker镜像的插件。 其他人可能能够帮助您基于插件的构build工作。