我有一个情况,我必须运行相同的管道(一套阶段)每天和每周。但问题是超时选项。
- 对于夜间构建,我们有严格的4小时超时
- 对于每周构建,我们有48小时的超时(因为多次重试管道中的某些阶段)
- 我们可以使用BUILD_TAGS来区分构建,但坚持使用全局超时选项。
- 不想去与阶段超时选项,因为它计算甚至等待节点的时间。
pipeline {
agent any
options {
// Timeout counter starts AFTER agent is allocated
timeout(time: 4, unit: 'HOURS')
}
stages {
stage('Build') {
steps {
echo 'Hello World'
}
}
stage('Test') {
steps {
echo 'Hello World'
}
}
}
}
字符串
有人试过类似的场景吗?任何指导都将不胜感激。
1条答案
按热度按时间yrdbyhpb1#
一旦您能够弄清楚您的作业为什么在运行--也就是说,它是每周运行还是每晚运行(或者都不是)--这就变得相当容易了。
此解决方案包括ParameterizedCron插件,用于将原因作为参数传递:
字符串
另一种解决方案是在pipeline开始挖掘
BuildCauses
之前运行一段代码:型