#jenkins #groovy #jenkins-pipeline
#дженкинс #заводной #дженкинс-трубопровод
Вопрос:
Я реализовал повторные попытки вокруг некоторого кода в конвейере Дженкинса.
retry(2) { // code }
Есть ли способ определить, когда произошла повторная попытка? Кроме того, просто вручную проверяйте журналы консоли. Хотел бы идентифицировать сборки, которые повторили какой-то неправильный код, и отправить уведомление.
Ответ №1:
Я не знаю способа узнать это внутри retry{ }
квартала.
Вы можете попробовать довольно универсальное решение (даже, возможно, в качестве глобального var в общей библиотеке конвейеров), например, использовать try catch
блок (поскольку повторная попытка будет ждать исключения).:
int retryAttempts = 0 retry(2) { try { if (retryAttemptsgt;0) { // a retry is occurring // Do pre-retry logic, if needed ... } // Do stuff ..... } catch (e) { retryAttempts // a retry WILL occur throw e // rethrow to trigger retry } } if (retryAttemptsgt;0) { // a retry has occurred // Do post-retry logic, if needed ... }