触发Jenkins每2小时构建一次,但前提是有一个git提交

时间:2014-07-09 18:32:00

标签: git jenkins

这是我遇到的问题 - 我需要每2小时触发一次作业构建,但前提是有一个git提交(如果没有活动则跳过)。 我可以单独解决它们但不确定如何一起解决它们 - 任何人都有任何好的想法? 我能想出的唯一一个是每两个小时检查一次的cron作业,如果在那段时间内有一个git提交,则手动触发一个作业,但这看起来并不那么优雅。

赞赏任何好的想法。

4 个答案:

答案 0 :(得分:14)

将jenkins设置为每2小时使用一次“Poll SCM”触发器(0 * / 2 * * *)或类似的东西

它将从git更新,如果有更改,则触发构建。

答案 1 :(得分:11)

H H / 2 * * *

民意调查SCM将以2小时的每个随机间隔随机发生。

答案 2 :(得分:6)

如果您只使用cron表达式H H / 2 * * *设置Poll Scm,它将每2小时触发一次构建,但如果发生git提交并且还不是2小时,也会触发构建。

如果您在投票SCM 中选中"忽略提交后挂钩" 以及上述cron表达式,则会忽略SCM通知的更改提交后挂钩,现在只有在提交时才会触发构建,并且已经过了2小时。

通过此步骤,您可以完全避免任何手动干预来触发构建。

此选项的帮助图标清楚地解释了其功能,

  

如果您想要阻止一些长时间运行的作业(例如,   报告)因为每次提交而开始,但仍想运行它们   如果SCM发生了变化,则会定期发生。

     

请注意,SCM插件也需要支持此选项!   自版本1.44以来,subversion-plugin支持此功能。

我有GIT 2.4.0并且正常使用此选项。

答案 3 :(得分:2)

设置工作每2小时轮询一次SCM。如果在之前的2小时内有提交,它将构建。