【问题标题】:How to build an pipeline jobs in parallel based on choice parameters values?如何根据选择参数值并行构建管道作业?
【发布时间】:2019-05-16 10:30:55
【问题描述】:

在 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"
    }
})
}
}
}

【问题讨论】:

    标签: jenkins jenkins-pipeline jenkins-groovy


    【解决方案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'
    }
    

    }

    【讨论】:

    • 嗨@yarin,我尝试了这个 if 条件,但它甚至没有通过管道。
    猜你喜欢
    • 2021-12-17
    • 1970-01-01
    • 1970-01-01
    • 2018-01-07
    • 1970-01-01
    • 2019-11-28
    • 2020-02-17
    • 2019-02-13
    • 1970-01-01
    相关资源
    最近更新 更多