Подтвердить что ты не робот

Изящно останавливая шаг сборки (плагин) при сбое сборки

У меня есть плагин в Jenkins, который управляет удаленным сервером через отдых.
Как я могу отправить последний запрос на сервер при сбое сборки? Таким образом, изящно завершая работу плагина?

Единственная ссылка на "последовательность прерываний", которую я нашел, this. Это заставляет меня думать, что процедура очень грубая, и что я не могу поймать сигнал, прежде чем он завершит его (мой плагин).

4b9b3361

Ответ 1

У меня есть аналогичная потребность, которую я решил с помощью PostBuildScript Plugin.

Я решил запустить шаг сборки, но вы можете запустить несколько других опций. Очень проста в использовании. У меня есть script Я должен запускать независимо от того, как завершилась сборка (успех, неудача или прервать). Это отлично работает для меня.

Надеюсь, это поможет.

Ответ 2

Когда сборка прервана, вызывается InterruptedException. Вы можете поймать его, как любое другое исключение, и не только изящно выйти, но и предотвратить прервать, если вы этого пожелаете.

В вашем методе boolean perform() настройте

try {
 ... // Whatever your plugin does
}
catch (InterruptedException e) {
    // Code to handle build being aborted.
}

который будет обрабатывать любые прерывания, возникающие во время выполнения шага сборки. В инструкции catch вы можете затем снова добавить InterruptedException, чтобы продолжить прерывание сборки или просто вернуться и продолжить сборку.