如何安排 Jenkins 构建,使其只能在每天的特定时间构建?
例如下午 4 点开始
0 16 1-7 * *
我明白,“在 0 分钟,下午 4 点,从周一到周日,每个月”,但是它每分钟都会建立:(
我将不胜感激任何建议。谢谢!
请阅读其他答案和评论,当我回答这个问题时,我不知道更多信息和细微差别描述(哈希函数?)。
根据 Jenkins 自己对调度任务的帮助(“?”按钮),指定了 5 个字段:
该字段遵循 cron 的语法(有细微差别)。具体来说,每一行由 5 个字段组成,由 TAB 或空格分隔:MINUTE HOUR DOM MONTH DOW
我只是想找一份工作在下午 4:42(我的大致当地时间)启动,它与以下内容一起工作,尽管它花了大约 30 秒的额外时间:
42 16 * * *
如果你想要多次,我认为以下应该有效:
0 16,18,20,22 * * *
每天下午 4 点、6 点、8 点和 10 点。
在作业配置中,可以定义各种构建触发器。通过定期构建,您可以通过定义日期或星期几以及执行构建的时间来安排构建。
格式如下:
分钟 (0-59)、小时 (0-23)、日 (1-31)、月 (1-12)、星期 (0-6)
可以插入代表单词 Hash 的字母 H 代替任何值,它将根据您的项目名称的哈希码计算参数,这样如果您同时在构建机器上构建多个项目时间,比如说每天的午夜,它们并非都同时开始构建执行,每个项目根据其哈希码在不同的分钟开始执行。您还可以将值指定为介于数字之间,即 H(0,30) 将返回项目的哈希码,其中可能的哈希值为 0-30
例子:
周一至周五每天早上 08:30 开始构建:
工作日每天构建两次,午餐时间 12:00 和午夜 00:00,周日至周四:
每天下午 4:00 - 4:59 或 16:00 -16:59 之间开始构建,具体取决于项目哈希:
午夜开始构建:
或在每周六午夜开始构建:
每个月的第一天 2:00 am - 02:30 am :
这个例子是每天上午 9 点左右一次,下午 5 点左右一次。(根据评论编辑)。
H 9,17 * * *
在 Jenkins 中安排作业的步骤:
@midnight
注意:在计划字段下,可以看到最后和下一个日期时间运行。
Jenkins 还支持预定义的别名来安排构建:
@hourly
, @daily
, @weekly
, @monthly
,@midnight
@hourly
--> 每小时开始时构建 -->0 * * * *
@daily, @midnight
--> 每天午夜构建 -->0 0 * * *
@weekly
--> 每周日凌晨的午夜构建 -->0 0 * * 0
@monthly
--> 每个月的第一天午夜构建 -->0 0 1 * *
要在下午 4 点到 6 点之间每天构建一次,您可以使用
HH(15-17) * * *
H H(5-21)/2 * * 1-5
周一至周五每 2 小时构建一次
这似乎是一个cron 表达式。请注意,您的示例仅在每个月的第一天到第七天 16:00 构建。您可能有某种其他错误,或者 Jenkins 使用了非标准 CRON 表达式。
詹金斯使用Cron 表达式。
您只需键入即可简单地安排每小时构建@hourly
。
在 Jenkins 中,我们的格式如下:
分 (0-59) 时 (0-23) 日 (1-7) 月 (1-12) 星期几