如何阻止Jenkins合并重复任务,实现重复任务依次执行?
解决Jenkins重复任务被合并的问题
问题描述
尝试通过Jenkins配置多次触发同一个Pipeline,期望任务进入等待队列逐一执行,但所有重复任务会被合并为一个仅执行一次;手动多次点击构建按钮也会出现同样的合并情况。使用的Pipeline配置如下:
pipeline { agent any stages { stage("first") { steps { sleep(20) } } stage('Hello') { steps { build job: 'queue', wait: false sleep(10) build job: 'queue', wait: false sleep(10) build job: 'queue', wait: false } } } }
注:并未并行运行任务,任务是按顺序执行的。需要让每个任务都执行,同时阻止合并功能。
解决方案
1. 关闭目标Job的重复合并开关
进入被触发的queue Job配置页面:
- 找到「高级项目选项」
- 取消勾选「合并队列中的重复任务」选项
- 保存配置
2. 触发时传入唯一参数区分任务
如果上述全局开关不生效,可通过传入唯一参数让Jenkins识别为不同任务。修改Pipeline中的build步骤,添加带唯一标识的参数,比如时间戳:
build job: 'queue', wait: false, parameters: [string(name: 'UNIQUE_TAG', value: "${System.currentTimeMillis()}")]
每次触发的参数不同,Jenkins就不会合并这些任务。
3. 检查全局队列合并配置
若全局层面开启了合并规则,需调整Jenkins全局设置:
- 进入「Manage Jenkins」→「Configure System」
- 找到「Queue Configuration」相关选项
- 关闭全局合并重复任务的设置(按需调整)
内容的提问来源于stack exchange,提问作者Prince
相关产品推荐
相关产品推荐

