Как я могу проверить наличие ошибки SSL внутри сценария конвейера

#jenkins #jenkins-pipeline #jenkins-groovy

#дженкинс #дженкинс-трубопровод #дженкинс-заводной

Вопрос:

Задание конвейера сборки Дженкинса с прерывистой ошибкой SSL, для построения которого используется пакет сборки conan. Причина в том, что папка сборки conan не обновляет кэшированный SSL.

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

Ответ №1:

Я не знаю конкретно, что делает конан, когда он получает ошибку SSL, но я предполагаю, что либо он выдает ошибку в Дженкинсе, либо возвращает ненулевой код выхода.

Если это приведет к ошибке Дженкинса

Вы можете просто завернуть это в try шаг внутри цикла:

 connected = false  while (!connected) {  try {  # Connect to conan here  connected = true  } catch(Exception exc) {  println("Connect successful") }  

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

Если он возвращает ненулевой код выхода

В этом случае, я думаю, вы называете это с bat шага, и в этом случае, я думаю, вы можете сделать:

 bat("conan_connect.bat || exit")