-1

我在 Jenkins 中创建了一个管道,其步骤是:

  1. git pull(从 GitHub 检索应用程序)
  2. 构建(maven 打包应用程序)
  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

我需要这个,因为每次我更改代码中的某些内容时,Jenkins 都会抛出一个错误,指出图像已经在运行。

4

1 回答 1

0

该错误可能与此问题有关

无论如何,您都可以构建图像,因为再次构建它并不重要。

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

它可能看起来像这样:

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

    if(!imageExists){
        // build the image
    }
}
于 2020-09-28T11:19:15.820 回答