跳过詹金斯管道中的工作

时间:2019-07-02 14:02:53

标签: jenkins jenkins-pipeline jenkins-plugins jenkins-groovy

我有一个Jenkins管道,其中有10个Jobs配置为在后期构建操作中一个接一个地运行。 每当Job的相关git代码发生变化时,都会触发构建,并且随后的所有作业都将运行,尽管其余的Job代码未提交。

例如,在管道中的一系列10个作业中,如果第二个作业中有代码更改而第三个作业中没有代码更改,那么我想跳过第二个作业并直接构建第三个作业。 同样,任何未更改代码的作业,都希望跳过并跳至下一个作业。

如果可以解决管道中不需要的构建,请提供帮助。

预先感谢

我尝试使用scm skip和ci skip插件。

更改配置

对于不需要构建的工作(如果没有代码更改),我需要跳过jenkins管道中的构建

2 个答案:

答案 0 :(得分:0)

您可以使用它跳过执行构建的阶段,该作业将不会被调用

import org.jenkinsci.plugins.pipeline.modeldefinition.Utils

if (noChanges)
 { 
    Utils.markStageSkippedForConditional(STAGE_NAME)
 }

答案 1 :(得分:0)

您可以使用 when 块跳过一个舞台。示例:

第一份工作:

stage{
     // build steps
}
post {
    build "job2"
}

第二份工作:

stage{
    when{
        expression{ 
            changes_made != true // changes_made parameter should be set according to code changes
        }
    }
    steps{
         // build steps
    }
}
post {
     build "job3"
}

这样,您将根据是否更改了任何代码的事实来跳过第二个作业的阶段。