Как строить конвейерные задания параллельно на основе значений параметров выбора? - PullRequest
0 голосов
/ 16 мая 2019

В Дженкинсе, сейчас я настраиваю конвейерное задание, которое может выполняться на основе значений параметров выбора, для каждого значения выбора есть определенные задания, которые должны выполняться параллельно. например, здесь мне нужно построить параметр 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 Ответ

1 голос
/ 16 мая 2019
if (param == "Job1") {
    stage('Parallel-Job1') {steps ..}

PA: в этом случае вы не увидите пропущенный этап конвейера на общем виде

Или:

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

}

...