我有一个JSP网站。我正在构建DevOps管道。我正在寻找将Jenkins与Docker集成的帮助。
我想在詹金斯做这两个步骤。我需要您的帮助,以将这两个命令集成到Jenkins中,这样我就不必一个接一个地手动运行这两个命令。
答案 0 :(得分:0)
我认为您可以使用"Docker Pipeline Plugin"。
对于第一个命令,您可以运行一个阶段:
myImage = docker.build("my-image:my-tag")
如果需要,您可以进入另一个阶段,可以使用以下命令在图像中运行一些测试:
myImage.inside {
sh './run-test.sh'
}
最后,您可以使用以下方法将映像推送到存储库中:
docker.withRegistry('https://your-registry.com', 'credentials_id') { //use a second parameter if you repository requires authentication
myImage.push('new_tag') //You can push it with a new tag
}
请注意,如果要在声明性管道中使用docker.*
方法,则必须在script
步骤内或函数中进行操作。
(plugin's user guide中的更多信息)
对于第二条命令,您只需要更新服务器中的运行映像。为此,您有很多选择(例如,如果使用的是Docker Swarm,则docker service update
),我认为这部分不在本文讨论范围之内。