只有在Jenkins中不存在docker镜像时才构建它

时间:2017-09-26 08:44:42

标签: docker jenkins

我正在使用Docker容器在Jenkins中构建一个构建管道,我想构建一个图像,但前提是该图像不存在于Jenkins运行的同一台服务器上。我采用最简单,最优雅的方式做到这一点,但我很难想出任何东西。

2 个答案:

答案 0 :(得分:3)

正如此question的答案中所述,您可以使用以下内容检查图像是否存在。

if [[ "$(docker images -q myimage:mytag 2> /dev/null)" == "" ]]; then
  # do something
fi

答案 1 :(得分:0)

您可以从以下输出:

docker image ls

然后grep查找您打算构建的图像名称。

然而,如果你" build"詹金斯的形象,将创造一个新的"图像 - 即使预先存在的图像应该相同 - 你怎么知道?

Docker图像是模板 - 听起来你在不同的主机上重建图像?如果是这样,请考虑使用中央(私有)注册表并从可能需要该图像的各种主机中提取。