一尘不染

从詹金斯向Docker映像添加标签

jenkins

我为持续集成有一个jenkins实例(实际上在docker内部运行)。

jenkins服务器在外部docker主机上构建docker映像,对其进行测试,然后将其推送到标记my-app:tested

现在,当我构建发行版时,我想将docker映像从测试重新标记为vX.X。我 希望重建一个新的标签的形象,我想重新标记现有的图像。

詹金斯怎么办?我正在查看jenkins插件,找不到具有此功能的任何插件。


阅读 228

收藏
2020-07-25

共1个答案

一尘不染

由于您没有链接到所使用的任何插件,因此我无法轻易地说出它们是否可以重新标记现有映像,但是可以通过基于Shell的作业来实现。

如果您在Jenkins中使用shell(bash或类似的东西)脚本,则可以使用标准docker命令轻松地执行此操作,以标记现有图像。如果您的my-
app:test映像已经为jenkins构建作业在本地缓存,则可以运行:

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

如果为jenkins作业在本地缓存了my-app:tested,则可以省略该docker pull命令。有关更多信息,请参阅docker标签文档。如果此基于Shell命令的工作流程不适合您基于插件的构建工作流程,那么我不确定您会怎么做。

我个人没有使用Jenkins或Jenkins插件来构建Docker映像,因此我不熟悉用于构建Docker映像的插件如何在Jenkins中工作。其他人也许可以帮助您完成基于插件的构建工作。

2020-07-25