Jenkins根据以前的构建状态构建频率

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jenkins根据以前的构建状态构建频率相关的知识,希望对你有一定的参考价值。

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

詹金斯有可能吗?

谢谢,

答案

在Scripted Pipeline中,您可以执行以下操作:

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 {
    ...
}
另一答案

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

以上是关于Jenkins根据以前的构建状态构建频率的主要内容,如果未能解决你的问题,请参考以下文章

47-Jenkins-终止构建并设置构建结果

47-Jenkins-终止构建并设置构建结果

Jenkins Pipeline配置根据代码分支及自定义版本号构建打包

Jenkins 多分支构建

jenkins根据prod,dev,test构建svn代码

jenkins多模块工程怎么构建