詹金斯定期建造 - 安排

时间:2016-06-30 08:26:12

标签: jenkins jenkins-workflow jenkins-pipeline

我希望每15分钟定期建一次。我已经在网上看了,我正在使用这个时间表:*/15 * * * *

Jenkins告诉我使用H/15 * * * *而不是*/15 * * * *

均匀地分散负载

有人可以告诉我使用H代替*吗?

1 个答案:

答案 0 :(得分:13)

是。从 构建触发器 定期构建日程安排内联帮助:

  

要允许定期计划的任务在系统上产生均匀负载,应尽可能使用符号H(表示“哈希”)。例如,使用0 0 * * *进行十几个日常工作会导致午夜出现大幅飙升。相比之下,使用H H * * *仍然会每天执行一次,但不能同时执行,更好地使用有限的资源。

     

H符号可以与范围一起使用。例如,H H(0-7) * * *表示从凌晨12:00(午夜)到早上7:59之间的某个时间段。您也可以使用H的步骤间隔,有或没有范围。

     

H符号可以被认为是一个范围内的随机值,但它实际上是作业名称的散列,而不是随机函数,因此该值对于任何给定项目都保持稳定。 / p>      

请注意,对于月份日期字段,由于月份长度可变,*/3H/3等短周期在大多数月份结束时不会始终如一。例如,*/3将在漫长的一个月的第1天,第4天,第31天,然后在下个月的第二天再次运行。哈希总是在1-28范围内选择,因此H/3将在月末之间产生3到6天之间的差距。 (更长的周期也会有不一致的长度,但效果可能相对不太明显。)

     

#开头的空行和行将被忽略为注释。

     

此外,还支持@yearly@annually@monthly@weekly@daily@midnight@hourly作为方便的别名。这些使用哈希系统进行自动平衡。例如,@hourlyH * * * *相同,可能意味着在一小时内的任何时间。 @midnight实际上意味着在凌晨12:00到凌晨2:59之间的某个时间。

     

示例:

# every fifteen minutes (perhaps at :07, :22, :37, :52)
H/15 * * * *
# every ten minutes in the first half of every hour (three times, perhaps at :04, :14, :24)
H(0-29)/10 * * * *
# once every two hours every weekday (perhaps at 10:38 AM, 12:38 PM, 2:38 PM, 4:38 PM)
H 9-16/2 * * 1-5
# once a day on the 1st and 15th of every month except December
H H 1,15 1-11 *