jenkins触发工作没有改变

我们有一个运行的jenkins服务器,它使用docker jenkins插件在Docker容器上构build相应的作业:

每个作业每N分钟检查一次是否对git进行了更改。 如果有任何更改,则会创build一个docker工具容器,并且该工程在该容器上成功构build。 最后,build设后,docker集装箱将closures。

问题 :jenkins触发所有N分钟的新build没有任何改变的GIT 。 问题可能是因为Docker容器不再可用,所以没有工作空间可用于检查更改。

任何想法如何解决这个问题?

编辑:我们的jenkins服务器不能从公共networking访问。

编辑:解决方法:创build一个新的工作,肯定克隆项目到工作区(在jenkins大师),并触发一些儿童作业,以防万一发生变化。 这里的区别在于,master保持工作空间,因此能够检查差异,而一旦容器closures,docker容器的工作空间就会被删除。

为什么要每隔N分钟检查一下git的变化。 最好的事情就是让Jenkins在每一次git变更之后build立起来。 1.检查轮询scm选项,但不要按计划input任何内容。 在这里输入图像说明 2.现在去git repository文件夹进入hooks文件夹,在那里你会发现hooks samples,使用post-receive.sample,重命名为post-receive,使其成为可执行文件,然后在文件中写入

#!/bin/bash curl http://yourserver/jenkins/git/notifyCommit?url=<URL of the Git repository 

然后保存它。 现在Jenkins在每个Git变更之后都会构build。