You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置Jenkins Job失败时暂停构建队列 修复后恢复且不影响其他任务

Jenkins单Job失败暂停队列、串行执行实现方案

所有配置仅作用于TriggerIngestion单Job,不会改动全局配置、不影响实例上其他Job运行,完全满足顺序执行、失败暂停、恢复后从队首续跑的要求,具体配置步骤如下:

1 配置单Job串行执行基础规则

进入TriggerIngestion的Job配置页,在General板块勾选禁止并发构建,配置后该Job同一时间只会运行1个构建实例,所有远程触发的请求会按照触发先后顺序进入该Job专属的等待队列,不会出现乱序执行的情况。该配置为Job级独立配置,不会影响其他Job的并发调度规则。

注意:不要配置全局构建阻塞规则,全局规则会作用于所有Job,不符合隔离要求。

2 配置构建失败自动暂停单Job调度

根据你的Job类型选择对应配置即可,核心逻辑是失败后仅禁用当前Job,不触发全局暂停:

如果你用的是自由风格(Freestyle)Job

  • 如果没装Groovy Postbuild插件,先在插件管理中安装该插件,插件安装不会默认改动任何Job的配置。
  • 在Job配置页的「构建后操作」中新增Groovy Postbuild步骤,填入以下脚本:
// 判定本次构建为失败/异常状态时触发
if (manager.build.result.isWorseOrEqualTo(hudson.model.Result.FAILURE)) {
    // 仅禁用当前TriggerIngestion Job,其他Job完全不受影响
    manager.project.makeDisabled(true)
    manager.addWarningBadge("构建失败,已暂停当前Job队列调度,排查故障后手动启用即可恢复")
}

如果你用的是Pipeline类型Job

直接在Pipeline定义中加入串行约束和失败处理逻辑即可,示例代码如下:

pipeline {
    agent any
    options {
        // 单Job串行,禁止并发,仅作用于当前Job
        disableConcurrentBuilds()
    }
    stages {
        // 原有触发Postgres数据摄入的业务逻辑放在对应stage中
        stage('Run Ingestion Trigger') {
            steps {
                echo 'Put your original ingestion trigger logic here'
            }
        }
    }
    post {
        failure {
            script {
                // 失败后仅禁用当前Job,不影响全局
                currentBuild.rawBuild.project.disabled = true
                echo "本次构建失败,已暂停Job调度,所有排队请求保留,修复后启用即可从队首按顺序执行"
            }
        }
    }
}

3 故障恢复操作

当Job因为构建失败自动禁用后,队列中已有的等待请求、后续新进来的远程触发请求都不会被丢弃,会一直保留在队列中。等你排查完故障、修复问题后,只需要进入TriggerIngestion的Job页面点击「启用」按钮,队列中的任务就会严格按照入队的先后顺序,从队首第一个开始依次串行执行,不会乱序、不会丢任务。

关键注意点

  • 绝对不要使用Jenkins全局的「静默模式」「准备关机」「暂停所有构建」类功能,这类功能是全局生效的,会阻断实例上所有Job的调度,不符合要求。
  • 单Job禁用状态只会阻断该Job的构建调度,不会清空该Job的队列,也不会对其他Job的运行、队列、触发逻辑产生任何影响。
  • 不要使用全局资源锁来做串行约束,全局锁如果配置不当可能被其他Job误用,用Job自带的禁止并发配置是最轻量、隔离性最好的方案。

内容的提问来源于stack exchange,提问作者somya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 15:15:33