3

我想在 Jenkins 中安排一份工作,在晚上 18 点到凌晨 2 点之间的某个时间运行。

所以我在定期生成/计划字段中输入了以下公式:

H H(18-2) * * *

但是,当我保存作业时,有一个例外:

javax.servlet.ServletException: java.lang.IllegalArgumentException: n must be positive
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:719)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:770)
(...)
Caused by: java.lang.IllegalArgumentException: n must be positive
at java.util.Random.nextInt(Unknown Source)
at hudson.scheduler.Hash$1.next(Hash.java:72)
at hudson.scheduler.BaseParser.doHash(BaseParser.java:100)
at hudson.scheduler.CrontabParser.term(CrontabParser.java:328)
at hudson.scheduler.CrontabParser.expr(CrontabParser.java:180)
at hudson.scheduler.CrontabParser.startRule(CrontabParser.java:60)
... 60 more

我输入时出于测试目的:

H H(0-2) * * *它工作正常。

你能告诉我有什么问题吗?

4

2 回答 2

4

目前这似乎是不可能的,看看这个错误:

https://issues.jenkins-ci.org/browse/JENKINS-18313

我的第一个答案包括这个建议的解决方法,它不起作用:

H H(18-23,0-2) * * *
于 2013-06-23T21:01:36.403 回答
2

我遇到了同样的问题,非常令人沮丧,一个建议是 2 个时间表,我已经测试过这种方法并且它有效。

H H(18-23) * * *
H H(0-1) * * *

请注意,如果您指定 0-1,即从午夜到凌晨 1.59

希望这可以帮助

诺埃尔/

于 2013-10-02T09:25:42.113 回答