如何安排Jenkins构建,使其只能在每天的特定时间构建?
例如从下午4点开始
0 16 1-7 * *
我的理解是:每个月的星期一至星期日下午4点为0分钟,但是每分钟都会生成一次:(
如有任何建议,我将不胜感激。谢谢!
Answers:
请阅读其他答案和评论,这里有更多的信息和所描述的细微差别(哈希函数?),我在回答此问题时不知道。
根据詹金斯自己对计划任务的帮助(“?”按钮),指定了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),DAY(1-31),MONTH(1-12),星期几(0-6)
代表单词Hash的字母H可以代替任何值插入,它将根据您的项目名称的哈希码计算参数,因此,如果您要在同一台构建机器上同时构建多个项目,时间,比如说每天午夜,他们并没有同时开始执行构建,每个项目都根据其哈希码在不同的分钟开始执行。您也可以将值指定为介于数字之间的值,即H(0,30)将返回项目的哈希码,其中可能的哈希值为0-30
例子:
在星期一至星期五的每天08:30开始构建:
工作日每天生成两次,在午餐时间12:00和午夜00:00(星期日至星期四):
根据项目哈希值,每天下午4:00 PM-4:59 pm或16:00 -16:59每天开始构建:
在午夜开始构建:
或在每个星期六的午夜开始构建:
每月的每个凌晨2:00到02:30之间:
1-6
星期一至星期五吗?是不是1-5
?等
这个例子是每天一次,大约在上午9点左右,一次在下午5点左右。(根据评论编辑)。
H 9,17 * * *
詹金斯计划作业的步骤:
@midnight
注意:在计划字段下,可以看到上次和下一次日期时间运行。
Jenkins还支持预定义别名以计划构建:
@hourly
,@daily
,@weekly
,@monthly
,@midnight
@hourly
->在每小时开始时每小时进行一次构建-> 0 * * * *
@daily, @midnight
->每天在午夜建立-> 0 0 * * *
@weekly
->每个星期天早上午夜进行构建-> 0 0 * * 0
@monthly
->每个月的第一天的午夜进行构建-> 0 0 1 * *
那似乎是一个cron表达。请注意,您的示例仅建立在每个月的第一天到第七天的16:00。您可能还有其他错误,或者Jenkins使用非标准的CRON表达式。
Jenkins使用Cron表达式。
您只需键入即可简单地安排每小时构建@hourly
。