Jenkins 设置定时任务

[原帖](先创建一个任务,如有不会的,可以参考我上一篇-Jenkins 入门之新建任务:https://blog.csdn.net/weixin_48520816/article/details/125209616 2、进入任务后,点击配置 Configure 3、设定定时构建 4、定时时间设置的规则 我理解的时间规则,后面附带一个官方版,有些同学通过官方版本可能能悟到更多 以下是官方解释 具体来说,每行包含 5 个字段,依次为分钟、小时、日、月、星期几,并通过 Tab 或空格分隔。 分钟 一小时内的分钟数 (0–59) 小时 一天中的小时 (0–23) DOM 月份中的某天 (1–31) 月 月份 (1–12) 周 星期几 (0–7),其中 0 和 7 是星期日。 要为一个字段指定多个值,可以使用以下运算符。按照优先顺序, _指定所有有效值 M-N 指定值的范围 M-N/X 或 _/X 在指定范围或整个有效范围内按 X 的间隔步进 A,B,…,Z 枚举多个值 为了允许定期调度的任务在系统上产生均匀的负载,H 应尽可能使用符号(用于“哈希”)。例如,使用 0 0 * * 十几个日常工作会在午夜导致一个大的峰值。相比之下,usingH H _ * 仍然会每天执行一次每个作业,但不是同时执行一次,更好地使用有限的资源。 该 H 符号可以与范围一起使用。例如,H H(0-7) _ * _ 表示 12:00 AM(午夜)到 7:59 AM 之间的某个时间。您还可以使用带 H、带或不带范围的步长间隔。 该 H 符号可以被认为是一个范围内的随机值,但它实际上是作业名称的哈希,而不是随机函数,因此该值对于任何给定项目都保持稳定。 请注意,对于月份字段,由于月份长度不同,短周期(例如/3 或 H/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 之间的某个时间。 例子: # 每十五分钟(可能在 :07, :22, :37, :52): H/15 _ * * _ # 每小时前半段每十分钟一次(3 次,可能在 :04, :14, :24): H(0-29)/10 _ * * _ # 每两小时一次,每两个小时一次,从上午 9 点 45 分开始,到每个工作日下午 3 点 45 分结束,每小时 45 分钟: 45 9-16/2 _ _ 1-5 # 每个工作日上午 8 点到下午 4 点之间每两小时一次(可能在上午 9:38、上午 11:38、下午 1:38、下午 3:38): HH(8-15)/2 _ _ 1-5 # 除 12 月外,每月 1 日和 15 日每天一次: HH 1,15 1-11 _ 1 2 3 4 5 6 7 8 9 10 jenkins 其他文章: 1、Jenkins 入门之新建任务:https://blog.csdn.net/weixin_48520816/article/details/125209616 2、Jenkins 自动化持续集成之 curl :https://blog.csdn.net/weixin_48520816/article/details/125209290 ———————————————— 版权声明:本文为 CSDN 博主「三也_小也」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/weixin_48520816/article/details/125221752)

1、先创建一个任务,如有不会的,可以参考我上一篇-Jenkins入门之新建任务:https://blog.csdn.net/weixin_48520816/article/details/125209616

2、进入任务后,点击配置 Configure

3、设定定时构建

4、定时时间设置的规则

我理解的时间规则,后面附带一个官方版,有些同学通过官方版本可能能悟到更多

例子:

1
2
3
4
5
6
7
8
9
10
# 每十五分钟(可能在 :07, :22, :37, :52):
H/15 * * * *
# 每小时前半段每十分钟一次(3 次,可能在 :04, :14, :24):
H(0-29)/10 * * * *
# 每两小时一次,每两个小时一次,从上午 9 点 45 分开始,到每个工作日下午 3 点 45 分结束,每小时 45 分钟:
45 9-16/2 * * 1-5
# 每个工作日上午 8 点到下午 4 点之间每两小时一次(可能在上午 9:38、上午 11:38、下午 1:38、下午 3:38):
HH(8-15)/2 * * 1-5
# 除 12 月外,每月 1 日和 15 日每天一次:
H H 1,15 1-11 *

以下是官方解释

jenkins 使用得定时系统是基于 Unix-like 操作系统中用于定时执行任务的工具 **cron**, 完全可以叫 chatgpt 帮助你来定义

具体来说,每行包含 5 个字段,依次为分钟、小时、日、月、星期几,并通过 Tab 或空格分隔。
分钟 一小时内的分钟数 (0–59)
小时 一天中的小时 (0–23)
DOM 月份中的某天 (1–31)
月 月份 (1–12)
周 星期几 (0–7),其中 0 和 7 是星期日。
要为一个字段指定多个值,可以使用以下运算符。按照优先顺序,
_指定所有有效值
M-N 指定值的范围
M-N/X 或 _/X 在指定范围或整个有效范围内按 X 的间隔步进
A,B,…,Z 枚举多个值

为了允许定期调度的任务在系统上产生均匀的负载,H 应尽可能使用符号(用于“哈希”)。例如,使用 0 0 * * _十几个日常工作会在午夜导致一个大的峰值。相比之下,H H _ * *仍然会每天执行一次每个作业,但不是同时执行一次,更好地使用有限的资源。

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

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

请注意,对于月份字段,由于月份长度不同,短周期(例如*/3 或 H/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 之间的某个时间。

jenkins 其他文章:

1、Jenkins 入门之新建任务:https://blog.csdn.net/weixin_48520816/article/details/125209616
2、Jenkins 自动化持续集成之 curl :https://blog.csdn.net/weixin_48520816/article/details/125209290