jenkins - 用于在矩阵上重新运行失败构建的脚本
问题描述
我正在尝试使用 Jenkins Job DSL 插件准备脚本来配置一些作业。它应该准备具有许多轴(大约 50 个)和配置选项“失败后重试构建”的矩阵作业,但我注意到它不支持所有可用选项。
在作业配置(手动)中,我们可以设置:
- 针对不稳定的构建和失败重新运行构建
- 仅为矩阵上的失败部分重新运行构建
- 重试构建前的延迟
- 连续失败构建的最大数量
和 Jenkins Job DSL 有:
- 固定延迟(整数延迟)
- 渐进延迟(int 增量,int 最大值)
- rerunIfUnstable(boolean rerunIfUnstable = true)
- retryLimit(int retryLimit) 方法。
目前我的脚本如下所示:
publishers {
retryBuild {
rerunIfUnstable()
retryLimit(2)
fixedDelay(0)
}
}
不幸的是,我无法配置选项:“仅为矩阵上的失败部分重新运行构建”......这是必要的,因为我不想重新运行所有部分,只是因为一个失败。
有可能以某种方式做到吗?它不必由 Job DSL 插件完成(但当然不是手动)。
该项目的一个特点有时会导致某些部分出现故障,这就是为什么需要重新运行。
解决方案
内置 DSL 不支持所有选项。但是动态 DSL确实:
matrixJob('example') {
publishers {
naginatorPublisher {
regexpForRerun(null)
rerunIfUnstable(true)
rerunMatrixPart(true)
checkRegexp(false)
maxSchedule(2)
delay {
fixedDelay {
delay(0)
}
}
}
}
}
推荐阅读
- r - R:单细胞跟踪 X 和 Y 坐标(位置)在时间过程中的变化
- javascript - 使用 AWS PinPoint 从 Web 应用程序发送推送通知
- java - 如何通过recycleview适配器显示字符串数组内容
- html - 如何将文本对齐到屏幕右侧并具有背景颜色?
- javascript - 作为对象引用的变量不起作用
- android - Android O 电源状态隐式广播替代
- mysql - 在 UNION 之后 MySql 没有更新
- uwp - 消除粘性滚动标题中的摆动
- angular - Angular 5 Material 数据表'this.dataSource.connect 不是函数'
- aws-cognito - 将 Facebook“封面”属性映射到 Cognito 用户池“图片”属性不起作用