Я пытаюсь запускать задачи параллельно, только если выполняются определенные условия.
Я запускаю параметризованную сборку в Jenkins, где можно выбрать определенные компоненты, которые необходимо развернуть. С одним вариантом перезаписи, который строит все параллельно, или, если выбраны определенные опции, он строит только выбранные компоненты.
Ниже приведена более простая версия моего фактического файла.
node{
properties([
parameters([
booleanParam(name: 'condition1', defaultValue: true, description: ''),
booleanParam(name: 'condition2', defaultValue: false, description: ''),
booleanParam(name: 'condition3', defaultValue: false, description: ''),
booleanParam(name: 'condition4', defaultValue: false, description: '')
])
])
stage('test') {
parallel{
'task1':{
script {
if ( condition1 == true || condition2 == true){
echo "hello world task 1"
}
}
},
'task2':{
script {
if ( condition1 == true || condition3 == true){
echo "hello world task 2"
}
}
},
'task3':{
script {
if ( condition1 == true || condition4 == true){
echo "hello world task 3"
}
}
}
}
}
}
Ожидаемый результат - сборка только выбранных компонентов