Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在n到m范围内,每2小时随机触发一次Jenkins作业_Java_Jenkins_Continuous Integration_Scheduled Tasks - Fatal编程技术网

Java 在n到m范围内,每2小时随机触发一次Jenkins作业

Java 在n到m范围内,每2小时随机触发一次Jenkins作业,java,jenkins,continuous-integration,scheduled-tasks,Java,Jenkins,Continuous Integration,Scheduled Tasks,我有一个jenkins作业,我想每2小时执行一次,每分钟执行一次,范围从n到m 例如: 预期日程安排: 我尝试了以下内容: 每2小时8分钟运行一次 据我所知,作业每两小时运行一次,时间间隔为5到25分钟,但每分钟都是相同的。如何强制触发器更改给定范围内每个构建的分钟数?詹金斯似乎还没有这样的功能。我可以通过添加一个新的RandomWait作业来解决这个问题,该作业只有一个测试,它只等待一个随机时间。然后此作业每2小时运行一次,每次运行0分钟,执行后将触发我的“主”作业 RandomJob测试中

我有一个jenkins作业,我想每2小时执行一次,每分钟执行一次,范围从nm

例如:

预期日程安排:

我尝试了以下内容:

每2小时8分钟运行一次


据我所知,作业每两小时运行一次,时间间隔为5到25分钟,但每分钟都是相同的。如何强制触发器更改给定范围内每个构建的分钟数?

詹金斯似乎还没有这样的功能。我可以通过添加一个新的
RandomWait
作业来解决这个问题,该作业只有一个测试,它只等待一个随机时间。然后此作业每2小时运行一次,每次运行0分钟,执行后将触发我的“主”作业

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
    }
}
public void waitRandomTime(){
int max=31;
println(“窥视0到“+(max-1)”范围内的随机数);
int minute=new Random().nextInt(最大值);
System.out.println(“开始等待”+分钟+“分钟”);
for(int i=0;i
因此,我现在有了此作业的执行时间:


PS这个解决方案是用Java编写的,但在其他语言中类似。

詹金斯似乎还没有这样的功能。我可以通过添加一个新的
RandomWait
作业来解决这个问题,该作业只有一个测试,它只等待一个随机时间。然后此作业每2小时运行一次,每次运行0分钟,执行后将触发我的“主”作业

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
    }
}
public void waitRandomTime(){
int max=31;
println(“窥视0到“+(max-1)”范围内的随机数);
int minute=new Random().nextInt(最大值);
System.out.println(“开始等待”+分钟+“分钟”);
for(int i=0;i
因此,我现在有了此作业的执行时间:


PS此解决方案是Java语言,但在其他语言中类似。

根据Jenkins文档,H符号可以被视为一个范围内的随机值,但它实际上是作业名称的散列,而不是随机函数,因此该值对于任何给定项目都保持稳定,不要相信此值。看看这个,也许有帮助。顺便说一句,这个时间表H(5-25)H***说,你每天运行一次hour@PavelAnikhouski顺便说一句,这个计划H(5-25)H***说,你每小时运行一次-你是对的,编辑了我的问题。根据Jenkins文档,H符号可以被认为是一个范围内的随机值,但它实际上是作业名称的散列,而不是随机函数,因此,对于任何给定的项目,该值都保持稳定,不要相信该值。看看这个,也许有帮助。顺便说一句,这个时间表H(5-25)H***说,你每天运行一次hour@PavelAnikhouski顺便说一句,这个时间表H(5-25)H***说,你每小时运行一次-你是对的,编辑了我的问题。
H(5-25) H/2 * * * 
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
    }
}