仅在更新代码存储库时构建Docker镜像(Jenkins)

时间:2016-07-29 14:21:51

标签: git bash jenkins docker

目前,在Jenkins的工作中,我使用git存储库中的文件构建了一个Docker镜像。当更改/更新此存储库时,我想要:

  1. 能够在Jenkins中检测到这一点,以便我可以更改我的Bash脚本以从Dockerfile重建Docker镜像
  2. 找一些构建我的Docker镜像的方法,每次运行Jenkins作业时都不需要我构建它(我每小时运行一次,并且构建Docker镜像需要将近10分钟)。
  3. 什么是干净有效的解决方案?我应该在每次运行工作时构建图像吗?

2 个答案:

答案 0 :(得分:0)

这个很简单,首先你用什么来托管你的git?希望github / gitlab?如果是这样的话,像@amit所提到的“轮询”SCM就是矫枉过正。

为什么让jenkins查找更改,当git服务器可以提醒jenkins更改?

您要做的是设置一个为您构建泊坞窗图像的jenkins作业

然后在github / gitlab上,为jenkins项目设置一个Web钩子(项目设置 - > web钩子)。

这样,当您将更改推送到GH / GL时,它会向jenkins发送一个有效负载,然后运行您的构建项目

答案 1 :(得分:-1)

您可以配置“轮询SCM”构建触发器 - 这将导致Jenkins定期检查您的git存储库以进行更改,并且只有在检测到更改时才会触发构建步骤。 (我假设您的构建步骤将执行docker build)。

您可以在此处找到更多信息 - https://wiki.jenkins-ci.org/display/JENKINS/Building+a+software+project#Buildingasoftwareproject-Buildsbysourcechanges