У меня есть декларативный этап конвейера, как показано ниже,
stage('build') {
steps {
echo currentBuild.result
script {
try {
bat 'ant -f xyz\\build.xml'
} catch (err) {
echo "Caught: ${err}"
currentBuild.result = 'FAILURE'
}
}
echo currentBuild.result
}
}
Я ожидаю, что конвейер выйдет из строя, так как сборка завершается с ошибкой с сообщением ниже.
BUILD FAILED
C:\...\build.xml:8: The following error occurred while executing this line:
C:\...\build.xml:156: The following error occurred while executing this line:
C:\...\build.xml:111: Problem creating jar: C:\...\xyz.war (The system cannot find the path specified) (and the archive is probably corrupt but I could not delete it)
currentBuild.result имеет значение null, когда я его печатаю.
Является ли вызов муравья неправильным?
Почему статус возврата не перехватывается конвейером автоматически?
Может ли вызов муравья не возвращать статус «сбой»?
Я попробовал catchError вместо try..catch, но сбой сборки все равно не обнаружен.
catchError {
bat 'ant -f xyz\\build.xml'
}
echo %ERRORLEVEL%
. Я использовал его в одном из решений, перечисленных ниже в ответе. - person user2891264   schedule 02.06.2017