如何基于选择参数值并行构建管道作业?

时间:2019-05-16 10:30:56

标签: jenkins jenkins-pipeline jenkins-groovy

在Jenkins中,现在我正在配置可以基于选择参数值运行的管道作业,对于每个选择值,都需要并行运行某些作业。例如,在这里我需要构建Job1参数,然后仅需要构建Job1的并行作业。但是我在这里尝试了它构建所有作业的方法,有没有一种方法可以基于参数值构建作业?

Choice Parameter
Name: Param
Value:  Job1
        Job2

import jenkins.model.*
import hudson.model.*
node('') {
String 
stage ('Parallel-Job1'){
parallel(Job1: {
    stage ('Parallel-test1'){
    build job: 'test1', propagate: false
    def jobname1 = "test1"
    }
}, Job1: {
    stage ('Parallel-test2'){
    build job: 'test2', propagate: false
    def jobname2 = "test2"
    }
})
stage ('Parallel-Job2'){
parallel(Job2: {
    stage ('Parallel-test3'){
    build job: 'test3', propagate: false
    def jobname1 = "test3"
    }
})
}
}
}

1 个答案:

答案 0 :(得分:1)

if (param == "Job1") {
    stage('Parallel-Job1') {steps ..}

PA:在这种情况下,您不会在一般视图中看到跳过的管道阶段

或者:

stage('conditional stage') {
agent label:'my-node'
when {
expression {
    return ${Param} != 'Job1';
    }
}
steps {
    echo 'foo bar'
}

}