我为持续集成有一个jenkins实例(实际上在docker内部运行)。
jenkins服务器在外部docker主机上构建docker映像,对其进行测试,然后将其推送到标记my-app:tested。
my-app:tested
现在,当我构建发行版时,我想将docker映像从测试重新标记为vX.X。我 不 希望重建一个新的标签的形象,我想重新标记现有的图像。
vX.X
詹金斯怎么办?我正在查看jenkins插件,找不到具有此功能的任何插件。
由于您没有链接到所使用的任何插件,因此我无法轻易地说出它们是否可以重新标记现有映像,但是可以通过基于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命令的工作流程不适合您基于插件的构建工作流程,那么我不确定您会怎么做。
docker pull
我个人没有使用Jenkins或Jenkins插件来构建Docker映像,因此我不熟悉用于构建Docker映像的插件如何在Jenkins中工作。其他人也许可以帮助您完成基于插件的构建工作。