Это продолжение моего предыдущего вопроса:
Установить статус этапа в Jenkins Pipelines
Оказывается, я могу сохранить конвейер как УСПЕХ, номожно пометить отдельный этап как НЕУСТОЙЧИВЫЙ, если я хочу через catchError
, например:
node()
{
stage("Stage 1")
{
catchError(buildResult: 'SUCCESS', stageResult: 'UNSTABLE')
{
sh 'exit 1'
}
}
}
Если я хочу получить текущий статус самого конвейера, я могу использовать currentBuild.getCurrentResult()
, но я несм. currentStage
аналог этого.
Мне интересно попробовать шаблон, который на моих этапах может выглядеть примерно так:
stage("1") {
catchError(buildResult: 'SUCCESS', stageResult: 'UNSTABLE') {
// do stuff
}
// perhaps more catchError() blocks
if(currentStage.getCurrentResult() == "UNSTABLE") {
// do something special if we're unstable
}
}
, но он потерпит неудачу, поскольку currentStage
недоступно.
В общем, catchError()
это хорошо, но я хотел бы знать, как я могу поймать изменение статуса на моей стадии, если она меняется ... Кто-нибудь знает, как вы получаете доступ к статусу текущей стадии, в которой вы находитесь? из трубопровода?