Continuous integration 我可以将Jenkins的SCM轮询间隔随机化吗

Continuous integration 我可以将Jenkins的SCM轮询间隔随机化吗,continuous-integration,jenkins,cloudbees,Continuous Integration,Jenkins,Cloudbees,在大多数Jenkins的示例中,SCM轮询值指定为*/15****,即每15分钟轮询一次SCM。当您有数百个作业时,这很好,但如果您有数千个作业,则情况就不一样了,因为这会导致在一小时后15、30、45和0分钟向SCM(本例中为Subversion)服务器发出数千个请求 在Jenkins中是否有某种方法可以将轮询值随机化,从而避免上述情况 在Jenkins主配置屏幕上有一个值“Max#of concurrent polling.”是否应设置该值(以及设置为什么值)以避免上述情况?如果将Max#o

在大多数Jenkins的示例中,SCM轮询值指定为*/15****,即每15分钟轮询一次SCM。当您有数百个作业时,这很好,但如果您有数千个作业,则情况就不一样了,因为这会导致在一小时后15、30、45和0分钟向SCM(本例中为Subversion)服务器发出数千个请求

在Jenkins中是否有某种方法可以将轮询值随机化,从而避免上述情况

在Jenkins主配置屏幕上有一个值“Max#of concurrent polling.”是否应设置该值(以及设置为什么值)以避免上述情况?

如果将Max#of concurrent polling设置为1到3之间的值,则轮询请求将简单地排队并以串行方式处理(或最多并行处理3次)

考虑到SVN轮询所涉及的所有内容都是有效的

svn信息分支url


它们都应该很快完成,但至少您可以限制并行请求。

使用H而不是*并且Jenkins将随机分配轮询。请注意,目前还没有找到一种适用于不同于每小时一次/天/等频率的良好语法,因此

H * * * * H**** 将在预先确定的随机分钟内每小时进行一次投票

H H * * * H*** 将以预先确定的随机时间和分钟每天进行一次投票

H H H * * H** 将每周进行一次投票

0 H * * * 0小时*** 将在一小时内进行投票,但每天在预先确定的随机时间进行一次投票

请记住,您可以使用多个cron行,并且任何一行都可以匹配,因此,在确定了一个好的子小时频率语法之前,您可以(平均)使用类似于

H * * * * H * * * * H * * * * H * * * * H * * * * H * * * * H**** H**** H**** H**** H**** H**** 投票间隔平均为15分钟(是的,每小时将有6次投票,但这是一个很好的机会,每季度至少有一次投票)

如果您对一小时内发布的语法有很好的建议,请回复此线程:

更新(2013年4月)
Jenkins 1.510及更高版本包含一个允许在一小时内指定分发的功能。

@Stephen Connolly的解决方案可能是一个很好的解决方案

<>如果你真的有数以千计的工作要担心,请考虑基于工作名称的某个部分设置时间(假设你的工作名被合理分配)。 例如,如果作业以“B”开头,请将计时设置为*/2。如果以“C”开头,则将其设置为*/3等('A'需要的不是1)

这不是一个很好的解决方案,但如果你真的想管理这么多的工作,在找到更好的解决方案之前,这可能是一个解决办法。

H**


我认为上面的调查将每月进行一次,而不是每周进行一次

*/2将每小时运行两次,*/3将每小时运行三次。。。我怀疑你的语法搞错了,你错了after@StephenConnolly这是不对的;a*/x表示作业之间的间隔为x个单位。OP说得对:“/15****是每15分钟一次,而不是每小时15次”。@edstaub在电话里说SO的危险;-)+1用于
1.510
更新。太糟糕了,最新的LTS是
1.509.1
。升级到非LTS版本几乎已经足够了。延迟添加与问题有关,而不是问题:Jenkins允许您限制轮询SCM的工作人员数量。这将解决您的问题,而无需随机化。看见