jenkins管道脚本中docker容器的其他条件

时间:2020-09-28 10:02:04

标签: docker jenkins jenkins-groovy jenkins-docker

我已经在詹金斯创建了一个管道,其步骤是:

  1. git pull(从GitHub检索应用程序)
  2. 构建(需要打包应用程序)
  3. 建立图像
  4. 运行图像
运行图像的

代码是 docker run -d --name **application_name** -p 8081:8081 **application_name**

我需要一个if-else条件来检查图像是否已创建。 例如。

if (image not created)
     create the image
else
     different step

之所以需要它,是因为每次我更改代码中的内容时,詹金斯都会抛出一个错误,指出该图像已经在运行。

1 个答案:

答案 0 :(得分:0)

该错误可能与this question有关。

无论如何,您都可以构建映像,因为如果再次构建它并没有太大关系。

您要检查图像是否已经存在,可以使用docker images命令并检查图像是否存在,如here所述。

它可能看起来像这样:

script {
    def imageExists = sh(script: "docker images -q <image name>", returnStdout: true) == 0

    if(!imageExists){
        // build the image
    }
}