詹金斯·蓝海(Jenkins Blue Ocean)重试了一个有时间限制的步骤,最多可以重复n次

时间:2018-12-14 06:55:30

标签: jenkins jenkins-blueocean

有一个步骤,执行时间可能非常快(微秒)或非常慢(小时)。

因此,如果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')
    }
  }
}

如何设计一个步骤来达到目的:重试一个有时间限制的步骤,直到成功为止?只需使用蓝色的海洋台阶就能做到这一点?

1 个答案:

答案 0 :(得分:0)

您的第一个解决方案是正确的。

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

提醒您,如果您的步骤由于其他原因失败,也会重试。