Дженкинс Блю Оушен повторяет ограниченный по времени шаг до n раз - PullRequest
0 голосов
/ 14 декабря 2018

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

Поэтому убейте этот шаг, если он отменен после 1 секунды, и повторите попытку до 10 раз.

Я уже пробовал, но не сработал, 1 и 2 будут выполняться только один раз.

enter image description here

Jenkinsfile:

retry(count: 10) {
  timeout(time: 1, unit: 'SECONDS') {
    sleep(time: 5, unit: 'SECONDS')
  }
}

retry(count: 10) {
  catchError() {
    timeout(time: 1, unit: 'SECONDS') {
      sleep(time: 5, unit: 'SECONDS')
    }
  }
}

Как разработать шаг для достижения цели: повторите ограниченный по времени шаг доn раз, пока это не удалось?Это можно сделать, просто используя шаги голубого океана?

1 Ответ

0 голосов
/ 18 июля 2019

Ваше первое решение правильное.

retry(...) {
   timeout(...) {
      // Your time-limited step here
   }
}

Имейте в виду, оно будет повторяться, если ваш шаг не пройден по другим причинам.

...