首页 > 解决方案 > 用于在矩阵上重新运行失败构建的脚本

问题描述

我正在尝试使用 Jenkins Job DSL 插件准备脚本来配置一些作业。它应该准备具有许多轴(大约 50 个)和配置选项“失败后重试构建”的矩阵作业,但我注意到它不支持所有可用选项。

在作业配置(手动)中,我们可以设置:

和 Jenkins Job DSL 有:

目前我的脚本如下所示:

publishers {
  retryBuild {
    rerunIfUnstable()
    retryLimit(2)
    fixedDelay(0)
  }
}

不幸的是,我无法配置选项:“仅为矩阵上的失败部分重新运行构建”......这是必要的,因为我不想重新运行所有部分,只是因为一个失败。

有可能以某种方式做到吗?它不必由 Job DSL 插件完成(但当然不是手动)。

该项目的一个特点有时会导致某些部分出现故障,这就是为什么需要重新运行。

标签: jenkinsjenkins-job-dsl

解决方案


内置 DSL 不支持所有选项。但是动态 DSL确实:

matrixJob('example') {
  publishers {
    naginatorPublisher {
      regexpForRerun(null)
      rerunIfUnstable(true)
      rerunMatrixPart(true)
      checkRegexp(false)
      maxSchedule(2)
      delay {
        fixedDelay {
          delay(0)
        }  
      }
    } 
  }
}

推荐阅读