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

Ser*_*gey 11 git jenkins

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

任何好的想法都赞赏.

Ang*_*ese 17

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

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

  • 最好使用"H*/2***"在整个小时内均匀分配负载. (8认同)

小智 15

HH/2***

轮询SCM将以2小时的每个随机间隔随机发生.


Ven*_*aju 6

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

如果在Poll SCM中选中"忽略提交后挂钩"选项以及上面的cron表达式,这将忽略SCM提交后挂钩通知的更改,现在只有在提交时才会触发构建并且它已经是2小时.

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

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

如果您希望阻止某些长时间运行的作业(例如报告)因每次提交而启动,但仍希望在SCM更改发生时定期运行它们,这将非常有用.

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

我有GIT 2.4.0并且使用此选项正常工作.