Установка состояния сборки на сбой при сбое - PullRequest
0 голосов
/ 18 ноября 2018

В декларативном конвейере jenkins, когда failFast используется в наборе параллельных этапов.Как установить статус сборки на «Сбой» вместо «Прервано»?

Если что-то не получится, это завершится с «ABORTED»

pipeline {
    agent any
    stages {
        stage('Parallel') {
            failFast true
            parallel {
                stage('Branch A') {
                    steps {
                        sh "foo"
                    }
                }
                stage('Branch B') {
                    steps {
                        sh "bar"
                    }
                }
                stage('Branch C') {
                    steps {
                        sh "baz"
                    }
                }
            }
        }
    }
}

Если FailFast удален, сборка в конечном итоге завершится с ошибкой «FAILED».Но мне также нужно поведение FailFast.

1 Ответ

0 голосов
/ 16 февраля 2019

ОК, после небольшого исследования это кажется проблемой с Дженкинсом: https://issues.jenkins -ci.org / browse / JENKINS-55459

Мне удалось это сделать, добавив скрипт с try / catch для этих шагов в параллельных этапах.

steps {
     script {

          try {
               MyCode()
          }
          catch (Exception err) {
               if (currentBuild.result == null) {
                    error "The stage '${env.STAGE_NAME}' has failed."
               } else {
                    echo "Exiting stage early."
               }
           }
     }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...