Дженкинс: конвейер всегда возвращает «УСПЕХ», даже если сборка не удалась - PullRequest
0 голосов
/ 05 марта 2019

ОБНОВЛЕНИЕ : Похоже, что это была ошибка, введенная в Pipeline: Declarative версия плагина 1.3.5 - понижение до 1.3.4.1 решает эту проблему.Билет был создан по адресу:


Как получитьреальный статус сборки при использовании на удаленном исполнителе?

Дилемма:

  • Использование декларативного конвейера
  • Сборки выполняются на удаленном исполнителе
  • Сборка не удалась
  • Хиты после {fail {}}
  • currentBuild.result - NULL, а currentBuild.currentResult - SUCCESS

Как получить доступ к фактической ошибкекогда сборки выполняются на удаленном исполнителе?

Вид кода:


pipeline {
    agent any
    stages {
        stage("test run") {
            steps {
                sh "exit 1"
            }
        }
    }

    post {
        always { 
            echo "I always run: ${currentBuild.result} <> ${currentBuild.currentResult}"
        }
        success {
            echo "I'm successful: ${currentBuild.result} <> ${currentBuild.currentResult}"
        }
        failure {
            echo "I failed: ${currentBuild.result} <> ${currentBuild.currentResult}"
        }
        fixed {
            echo "I'm fixed!: ${currentBuild.result} <> ${currentBuild.currentResult}"
        }
    }
}

И вывод:

[Pipeline] Start of Pipeline
[Pipeline] node
Running on build-096575a3-e6af-4fff-9ca1-84cc46ba4b86-f9b8d29c in /var/vcap/data/jenkins-slave/workspace/test-job
[Pipeline] {
[Pipeline] stage
[Pipeline] { (test run)
[Pipeline] sh
+ exit 1
[Pipeline] }
[Pipeline] // stage
[Pipeline] stage
[Pipeline] { (Declarative: Post Actions)
[Pipeline] echo
I always run: null <> SUCCESS
[Pipeline] echo
I failed: null <> SUCCESS
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
ERROR: script returned exit code 1
Finished: FAILURE

1 Ответ

0 голосов
/ 08 марта 2019

(отправка «официального ответа» на мою проблему):

Это «ошибка», появившаяся в Pipeline: Declarative версии плагина 1.3.5 - понижение до 1.3.4.1 решает эту проблему.Билет был создан по адресу:

Между пользователями иразработчики о том, действительно ли это ошибка или нет.Разработчики рекомендуют НЕ использовать currentBuild.result (больше), но многие отмечают, что это разрыв BC и вызывает много проблем.

Проблема была отмечена Critical - может быть откатана или переработаначтобы быть лучше реализованным.

Если вы полагались на эту функцию, либо currentBuild.result или currentBuild.currentResult, я рекомендую опубликовать ваши комментарии к этой ошибке.

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