在Jenkins上安排每两周运行一次的作业

7
我希望您能在Jenkins上安排每两周运行一次的工作。它应该在每个其他星期一运行。我无法找出cron表达式。

@AndersLindahl 这是一个每周执行一次的定时任务。我正在寻找每两周执行一次的定时任务。它应该在每个“其他”星期一运行。 - Edge
3个回答

8
我做了一些研究,基本上可以得出三个答案:
快速回答:你不能。
复杂答案1:你可以手动在另一行中输入每个其他星期日的条目,但当年份更改时,这将会遇到问题。
0 0 29 4 *
0 0 13 5 *
0 0 27 5 *
0 0 10 6 *
...

复杂答案2:创建一个cron条目,每个星期日运行一次,然后在您的构建步骤中使用某些东西手动检查(切换)以解决问题的“每隔一周”部分。 (如果您需要在SCM步骤之前进行测试,则pre-scm-buildstep插件可能会有所帮助。)


1
在你的项目配置/构建触发器/计划部分,你可以指定@weekly 这将会在一周的第一天午夜之后执行,基于你的JVM地区设置。
这是你在Jenkins内部能够获得的最接近的功能。否则,你需要使用一些外部的cron作业。

0
0 0 * * #1,#3

根据this,哈希字符应该允许上述表达式在每个月的午夜,在第一个和第三个星期一进行构建。这是我能找到的最接近隔周星期一的方式了。

1
实际上,显然他们已经在v1.460中添加了它(除非我误解了更改日志)http://jenkins-ci.org/changelog - Sagar
Jenkins引入的哈希功能是为了在一段时间内分发作业执行,以最小化突然的峰值。 - Edge
你只是把更新日志里的内容粘贴到这里了。谢谢?不管怎样,我尝试了一下,但它没有起作用。最好的选择是@jwernerny所说的。 - Sagar
1
@KohsukeKawaguchi,我在Jenkins JENKINS-13641上开了一个工单。 - Edge
截至2017年4月仍未实现 -> https://issues.jenkins-ci.org/browse/JENKINS-13641 - Leon S.
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接