当前位置: 首页 > 面试题库 >

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

融焕
2023-03-14
问题内容

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

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

现在,当我构建发行版时,我想将docker映像从测试重新标记为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命令的工作流程不适合您基于插件的构建工作流程,那么我不确定您会怎么做。

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



 类似资料:
  • 有没有可能让詹金斯使用真正的浏览器而不是无头浏览器?我正在运行一些用TestNG编写的测试(使用Selenium webdriver)。当我运行testng时。在Eclipse中,浏览器启动并运行测试。但当我使用Jenkins并用maven运行测试时,它不会启动任何浏览器。

  • 问题内容: 以下是配置文件: 在这里可用。 运行以下命令后: 从浏览器启动时,詹金斯大师显示以下错误: 詹金斯大师的Docker文件在这里: 为什么詹金斯大师给这个例外? 问题答案: 问题是您使用了3岁的 Jenkins版本2.7.3。堆栈跟踪抱怨方法 根据Jenkins API,此方法在2.98版中引入。有关更多详细信息,请参见更改日志。

  • > 难道从詹金斯没有像主詹金斯那样安装和启动吗?我假设我将以同样的方式安装一个主Jenkins和另一个从Jenkins,然后主Jenkins将控制从Jenkins例如通过ssh?所以我不能通过GUI查看奴隶詹金斯? 我考虑在另一个VM上添加从Jenkins的原因是因为VM包含我们的应用服务器(许多测试环境)。从master Jenkins部署和启动/停止应用程序服务器是一个难题,因为master

  • 问题内容: 如何轻松地将Jenkins与qUnit集成?我将使用真正的浏览器(如firefox和chrome)运行测试。我的服务器在RedHat 6.1 Linux上运行。我想我都需要插件/库,但我仍然不知道如何使其工作。我第一次与Jenkins合作(在服务器端)。 //编辑: 如果有人也可以共享想法如何构建覆盖率报告,那将是很棒的。 提前致谢 :)。 问题答案: 说詹金斯和QUnit只是难题的一

  • 我想做一些非常简单的事情,在一个文件夹中,我有一个jar文件和一个包含脚本的名为脚本的文件夹。但我可以让詹金斯拉链来做这件事。 zip目录:“awsdeploy”,排除:“”,glob:“”,“scripts/”,zipFile:“SQSToElasticProcessor.zip” 必须显式命名“zip”的参数。@ 第 31 行,第 16 列。

  • 我有一个jenkins管道,它加载如下groovy实用程序脚本: 当我在主节点上执行管道时,一切都很好。在这种情况下,我可以在管道中使用类Utils中的方法。 当我试图在一个从系统中执行管道时,我的问题出现了。在这种情况下,上述负载会导致错误 Java语言io。IOException:java。io。FileNotFoundException:/var/lib/jenkins/utils/util