如何临时禁用Jenkins特定文件夹下的任务调度?
临时禁用Jenkins特定文件夹下任务的解决方案
插件方案
- Folder Plugin(基础必备):多数生产环境的Jenkins都会预装这个插件,直接通过文件夹的批量操作就能实现:
- 打开目标文件夹的主页
- 点击顶部的「批量操作」按钮
- 选择「禁用所有任务」选项并确认,就能一次性禁用该文件夹下所有任务;恢复时选「启用所有任务」即可
- Job Disable Cause Plugin:如果需要给禁用的任务添加明确原因(比如标注“因CPU负载过高临时禁用”),安装这个插件后,禁用任务时可以填写备注,用户看到后就不会随意重启,也方便后续恢复时了解背景
无插件原生脚本方案
不想额外安装插件的话,用Jenkins脚本控制台批量操作:
- 进入「Manage Jenkins」→「Script Console」
- 执行以下Groovy脚本(替换
FOLDER_NAME为你的目标文件夹全称):
def folder = Jenkins.instance.getItemByFullName("FOLDER_NAME") if (folder) { folder.items.each { job -> if (job instanceof hudson.model.Job) { job.disabled = true job.save() println "Disabled job: ${job.name}" } } } else { println "Folder not found!" }
恢复任务时,把脚本里的job.disabled = true改成job.disabled = false重新执行即可
应急替代方案
如果来不及禁用任务,先限制文件夹下任务的并发执行,避免CPU持续冲高:
- 打开目标文件夹的「Configure」页面
- 找到「Folder-level concurrency limit」选项,设置最大并发数为0(或根据实际情况设为1)
- 保存后,该文件夹下无法启动新构建,已在运行的任务会正常完成,用户也无法重启新任务
内容的提问来源于stack exchange,提问作者samuelj
相关产品推荐
相关产品推荐

