小编典典

jenkins定期建立-时间表

jenkins

我希望每15分钟定期进行构建。我在网上看过,并且正在使用以下时间表:*/15 * * * *

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

有人可以告诉我使用H代替之间的区别*吗?


阅读 578

收藏
2020-07-25

共1个答案

小编典典

是。从 _ 构建触发器 → _定期构建计划内联帮助:

为了使定期计划的任务在系统上产生均匀的负载,应尽可能使用符号H(“哈希”)。例如,使用0 0 * * *一打日常工作将导致午夜时分大幅飙升。相反,使用H H * * *仍然会每天执行一次每个作业,但不是同时执行所有作业,更好地使用有限的资源。

H符号可以与范围一起使用。例如,H H(0-7) * * *表示在12:00 AM(午夜)到7:59
AM之间的某个时间。您还可以使用带有H,不带范围的步距。

H符号可以被认为是在一定范围内的随机值,但它实际上是作业名称,而不是随机函数的哈希值,所以该值仍然是任何项目稳定。

请注意,由于月份长度的变化,在“月的一天”字段中,短周期(例如)*/3H/3不能在大多数月份的末尾一致地起作用。例如,*/3将在一个月的第1、4,…31天运行,然后在下个月的第二天再次运行。哈希值始终选择在1-28范围内,因此H/3在月底运行3到6天之间会产生间隙。(更长的周期也将具有不一致的长度,但效果可能相对不太明显。)

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

此外,@yearly@annually@monthly@weekly@daily@midnight,并且@hourly也支持方便的别名。这些使用哈希系统进行自动平衡。例如,@hourly与相同,H * * * *并且可能表示该小时中的任何时间。@midnight实际上是指在12:00 AM和2:59 AM之间的某个时间。

例子:

# 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 *

2020-07-25