我有一个詹金斯(Jenkins)工作,我想每2小时随机执行一次,工作范围从 n 到 m 。
例如:
n = 5
m = 25
预计时间表:
Mar 29, 2019 2:07 PM
Mar 29, 2019 4:17 PM
Mar 29, 2019 6:13 PM
Mar 29, 2019 8:22 PM
...
我尝试了以下操作:
H(5-25) H/2 * * *
每2小时8分钟运行一次
据我了解,这项工作每隔2个小时每隔5到25之间的随机分钟运行一次,但每分钟都相同。如何强制触发器在给定范围内更改每次构建的分钟数?
答案 0 :(得分:0)
似乎Jenkins
还没有此功能。我能够通过一次测试添加一个新的RandomWait
作业来解决此问题,该作业仅等待随机时间。然后,此作业在0分钟每2小时运行一次,执行后触发了我的“主要”作业。
RandomJob
测试中的示例代码:
public void waitRandomTime() {
int max = 31;
System.out.println("Peeking a random number in a range between 0 and " + (max - 1));
int minute = new Random().nextInt(max);
System.out.println("Start waiting " + minute + " minutes");
for (int i = 0; i < minute; i++) {
System.out.println("Minute: " + i);
waitABit(60000); // wait one minute
}
}
结果,我现在有此作业执行时间:
PS 此解决方案以java
的形式提供,但将以其他语言类似。