如何解决jenkins管道脚本中docker容器的其他条件
我已经在詹金斯创建了一个管道,其步骤是:
- git pull(从GitHub检索应用程序)
- 构建(需要打包应用程序)
- 建立图像
- 运行图像
代码是
docker run -d --name **application_name** -p 8081:8081 **application_name**
我需要一个if-else条件来检查图像是否已创建。 例如。
if (image not created)
create the image
else
different step
之所以需要它,是因为每次我更改代码中的内容时,詹金斯都会抛出一个错误,指出该图像已经在运行。
解决方法
该错误可能与this question有关。
无论如何,您都可以构建映像,因为如果再次构建它并没有太大关系。
您要检查图像是否已经存在,可以使用docker images命令并检查图像是否存在,如here所述。
它可能看起来像这样:
script {
def imageExists = sh(script: "docker images -q <image name>",returnStdout: true) == 0
if(!imageExists){
// build the image
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。