微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决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

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

解决方法

该错误可能与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 举报,一经查实,本站将立刻删除。