ОБНОВЛЕНИЕ : Похоже, что это была ошибка, введенная в 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