Jenkins的构建频率基于先前的构建状态

时间:2019-03-05 04:21:47

标签: jenkins jenkins-pipeline

我有一条Jenkins管道,计划每4小时触发一次。但是,我的要求是,一旦构建失败,我希望构建更加频繁地进行,并不断发送提醒,提醒构建已中断。简而言之,构建时间表必须取决于先前构建的状态。

詹金斯有可能吗?

谢谢

2 个答案:

答案 0 :(得分:0)

我想不出直接的方法,但是您可以找到解决方法。您可以具有相同作业的副本(我们称其为作业“ B”),并在第一个作业的构建失败时触发它(将其称为作业“ A”)。现在,如果B再次失败,则可以重新触发它(B)(增加一些等待时间)并在失败后发送通知,继续进行直到它通过。如果您使用脚本化的Jenkins管道,则将以一种更容易的方式完成此操作。希望这个答案能以某种方式对您有所帮助。

答案 1 :(得分:0)

在脚本化管道中,您可以执行以下操作:

def triggers = []

if(currentBuild.getPreviousBuild().result != 'SUCCESS') {
    triggers << cron('0 */1 * * *') // every hour
} else {
    triggers << cron('0 */4 * * *') // every 4 hours
}

properties ([
    pipelineTriggers(triggers)
])

node {
    ...
}