Jenkins - установите тайм-аут на Stage и переходите к следующему этапу - PullRequest
0 голосов
/ 30 января 2020

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

Не могли бы вы сообщить мне синтаксис, необходимый для достижения этого.

1 Ответ

1 голос
/ 02 февраля 2020

в декларативном конвейере, добавьте этот этап:

stage ("do-and-skip-for-timeout") {
   steps {
      script {
        try {
          timeout (time: 10, unit: 'MINUTES') {
             echo "do something here, that can take some time" // replace this line with your code
          }
        }
        catch (error) {
           def user = error.getCauses()[0].getUser()
           if('SYSTEM' == user.toString()) { // SYSTEM means timeout.
             echo "Timeout reached, continue to next stage"
           } 
           else {
             throw new Exception("[ERROR] stage failed!")
           }
        }
   }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...