Как я могу обработать исключения в конвейере, когда он имеет цикл for? - PullRequest
0 голосов
/ 03 июня 2019

У меня есть конвейерное задание, которое выполняет некоторую последовательность действий (например, 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). Как я могу это сделать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...