У меня есть конвейерное задание, которое выполняет некоторую последовательность действий (например, Build >> Run >> Report). Я поместил эту последовательность в цикл for, поскольку я могу получить параметр, у которого есть список значений, для которого я должен повторить ту же последовательность. Пожалуйста, найдите пример кода, который я написал.
param_val = params.param_1
param_list = param_val.split()
for (int i = 0; i < size(param_list); ++i){
item_value = param_list[i].trim()
builds[i] ={
stage('Build') {
build 'Build', parameters: [string(name: 'item', value: item_value)]
}
stage('Run') {
build 'Run', parameters: [string(name: 'item', value: item_value)]
}
stage('Reporting') {
build 'Reporting', parameters: [string(name: 'item', value: item_value)]
}
}parallel builds
}
Теперь, когда один из этапов в одной из итераций цикла for завершается неудачно, также завершается сбой всего конвейера. Мне нужно изменить его, чтобы завершить работу только одной итерации (последовательности), а другие итерации должны продолжать выполняться.
Пример: если у меня есть 3 значения в param_val (один, два, три), у меня будет 3 сработавших последовательности.
Branch: 0 => Build(item:one) >> Run(item:one) >> Reporting(item:one)
Branch: 1 => Build(item:two) >> **Run(item:two)** >> Reporting(item:two)
Branch: 2 => Build(item:three) >> Run(item:three) >> Reporting(item:three)
Если в этой ветке 1: выполнение (элемент: два) завершится неудачно, все итерации (ветвь 0, ветвь 2 и ветвь 1) будут остановлены, а конвейерное задание будет помечено как сбой.
Я бы хотел продолжить конвейер и выполнить другие итерации (Branch0 и Branch2).
Как я могу это сделать?