詹金斯管道重建失败时

时间:2019-01-30 22:23:26

标签: jenkins jenkins-pipeline

我正在寻找一种方法来重建/重新启动管道作业,如果该管道作业在任何阶段自动失败。

有一个名为Naginator的插件,但仅适用于自由式作业,不适用于管道。

我认为必须有一种方法通过post块对此进行编码,即

imports: [
    BrowserModule,
    BrowserAnimationsModule,
    FormsModule,
    MaterialModule,
    HttpClientModule,
    RouterModule.forRoot([
      {
        path: 'colors',
        component:  ColorsComponent
      },
      {
        path: 'buttons',
        component:  ButtonsComponent
      },
      {
        path: 'icons',
        component: IconsComponent
      }])]

我有一份很长的詹金斯管道作业,用于构建和推送微服务docker映像以进行回购,代码是可靠的,但有时会出现网络故障,使该作业失败。因此,我需要一种自动旋转另一个失败的方法。

2 个答案:

答案 0 :(得分:0)

您可以尝试以下方法:

retry(3) {
                   ${env.JOB_NAME}.run
                   mail to: 'team@example.com',
                   subject: "Failed Pipeline: ${currentBuild.fullDisplayName}",
                   body: "${env.BUILD_URL} failed, re-running another job"
                }

失败后将重试3次。您可以根据需要更改此号码。

答案 1 :(得分:0)

您几乎可以将其与管道声明性语法一起使用

pipeline {
    agent any
    options {
        retry(3)
    }
    stages {
        ...
    }
}