Есть ли способ получить код возврата или исключение из sshPublisher? - PullRequest
0 голосов
/ 09 апреля 2019

Я пытаюсь сделать цикл с sshPublisher.
Я должен поймать неудачную итерацию из цикла.

Например,

array = [some configs]
array.each {
    sshPublisher ( exec some command )
    if ( error occurred from sshPublisher) { do something }
}  

Я обнаружил, что если в sshPublisher произошла ошибка, он меняет currentBuild.result на UNSTABLE,

Итак, я попытался использовать currentBuild.result, но его нельзя установить с UNSTABLE на SUCCESS, поэтому я не могу его использовать.

Есть ли способ получить код ошибки или что-то из sshPublisher ()?

1 Ответ

1 голос
/ 09 апреля 2019

Это старый плагин, с последней версией от 2016 года.

Дизайн слишком привязан к самому результату сборки, чтобы его просто прочитать, вот документация по опциям

Сбой сборки при возникновении ошибки

По умолчанию при возникновении ошибки издатель устанавливает для результата сборки значение UNSTABLE.Установка этого параметра приведет к сбою в издателе, чтобы установить результат сборки на FAILED.Эта опция особенно полезна в случае продвижения, когда основное действие - Публикация поверх ...

Что вы можете сделать, это проверить текущий результат сборки в цикле и сбросить его, если он работает в нестабильном режиме /сбой, как

if ('FAILURE'.eqauls(currentBuild.result)) {
    //do your thing
    currentBuild.rawBuild.@result = hudson.model.Result.SUCCESS
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...