Jenkins 我可以在每个月的第一个星期的每一天使用詹金斯触发器吗?

Jenkins 我可以在每个月的第一个星期的每一天使用詹金斯触发器吗?,jenkins,triggers,cron,Jenkins,Triggers,Cron,我的目标是在每个月的第一个工作日早上7点(7/1/15、8/3/15、9/1/15等)触发报告 我使用以下cron表达式:h7 1-3/3*1-5 它将于7月1日运行,但下一次的运行日期不是8月3日,而是9月1日。如何让它在每个月的第一个工作日运行 我正在使用以下帮助指南: 分钟小时内的分钟数(0-59) 小时一天中的时间(0-23) DOM月日(1-31) 月份月份(1-12) 道琼斯指数一周中的一天(0-7),其中0和7是周日 要为一个字段指定多个值,可以使用以下运算符。按照优先顺序 *指

我的目标是在每个月的第一个工作日早上7点(7/1/15、8/3/15、9/1/15等)触发报告

我使用以下cron表达式:h7 1-3/3*1-5

它将于7月1日运行,但下一次的运行日期不是8月3日,而是9月1日。如何让它在每个月的第一个工作日运行

我正在使用以下帮助指南:

分钟小时内的分钟数(0-59)
小时一天中的时间(0-23)
DOM月日(1-31)
月份月份(1-12)
道琼斯指数一周中的一天(0-7),其中0和7是周日

要为一个字段指定多个值,可以使用以下运算符。按照优先顺序

  • *指定所有有效值
  • M-N指定值的范围
  • M-N/X或*/X在指定范围或整个有效范围内按X的间隔步进
  • A、 B,…,Z枚举多个值

为了允许定期计划的任务在系统上产生均匀的负载,应尽可能使用符号H(表示“哈希”)

肯定很奇怪,尤其是当您将表达式更改为

H 7 1-3/3 8 1-5

它承认八月。一定是某种虫子。可能是闰秒问题?

每月第一个工作日规则:

  • 如果今天是星期一,那么如果今天也是一个月的第一、第二或第三天,则应运行作业
  • 如果今天是星期二、星期三、星期四或星期五,那么如果今天也是本月的第一天,则应运行作业
以下cron表达式应执行此操作:

H 7 1-3 * 1
H 7 1 * 2
H 7 1 * 3
H 7 1 * 4
H 7 1 * 5
# Would last have run at Wednesday, July 1, 2015 7:00:02 AM EEST; would next run at Monday, August 3, 2015 7:00:02 AM EEST.
注意,由于文章的原因,您不能使用:

H 7 1-3 * 1
H 7 1 * 2-5
上述方法不起作用!相反,作业在每个工作日运行,在每月1日运行两次,可能在每月2日和3日运行两次


但是我无法复制它。

这是你问题的答案,似乎它可以工作


最好的

这应该很好:

H 7 1-3 * 1
H 7 1 * 2-5

本文提到的公认答案是关于crontab表达式的。Jenkins cron表达式实际上对DOM和DOW使用了(否则,来自公认答案的解决方案也不会起作用)

它被认为是2016年8月1日(而不是2015年)。Microsoft的“补丁星期二”是本月的第二个星期二。如果这个月从星期二开始,那么第二个星期二就是第八个星期二。如果这个月从星期三开始,那么第二个星期二就是第14个星期二。这些极端情况允许在一个月的第二个星期二的午夜使用一个漂亮的詹金斯克朗(以帮助其他人扩展同样优秀的推理)Ааааа共享):
0 8-14*2/usr/bin/patch Tuesday.sh