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

Jenkins配置:实现流水线/任务按上游触发顺序执行单独构建

解决公共项目被多上游触发时的串行构建问题

核心思路

要让C先跑完A触发的构建,再启动B触发的新构建,关键就是关掉C的「相同任务合并」功能,同时限制C同一时间只能跑一个构建,让触发请求按顺序排队执行。

具体操作步骤

1. 关闭C的任务合并开关

进入项目C的配置页:

  • 找「构建触发器」或者「高级项目选项」(不同Jenkins版本位置可能有点不一样)
  • 把**「合并相同的队列任务」**这个选项的勾去掉(英文叫Combine Queued Projects)
  • 保存配置。默认开着这个的话,Jenkins会把同一个项目的触发请求合并成一次构建,关了之后每个触发请求都会单独进队列。

2. 限制C的并发构建数

为了保证C同一时间只能跑一个构建,避免并行:

  • 在C的配置里找「构建环境」或者「通用设置」
  • 勾选**「限制并发构建数」**,把最大并发数设成1
  • 保存配置。这样C队列里的任务就会按触发顺序来,A的构建跑完,B的才会启动。

3. 验证配置

同时触发A和B之后:

  • 看C的构建队列,能看到两个独立的任务,分别标着由A和B触发
  • 先跑A触发的构建,跑完之后B触发的会自动启动
  • 最后C会生成两个独立的构建记录,分别对应A和B的请求

流水线项目的额外配置(如果用Jenkins Pipeline)

如果C是流水线项目,也可以直接在Jenkinsfile里加代码强制串行:

pipeline {
  agent any
  options {
    disableConcurrentBuilds() // 禁止并发构建
    skipDefaultCheckout()
  }
  stages {
    // 这里写你的构建步骤
  }
}

disableConcurrentBuilds() 这个指令会确保同一时间只有一个流水线实例在运行,后面的触发请求都会排队等前面的跑完。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 09:35:17