首页/开发/CI/CD 与发布速查/Jenkins 多分支流水线
工具链要点63 条

Jenkins 多分支流水线

对仓库分支与变更请求自动发现并建流水线:每个分支独立构建,配合 Jenkinsfile 实现分支级持续验证。

CI/CD 与发布速查开发更新于 2026-10-13

多分支流水线是什么

多分支流水线对仓库里的分支和变更请求自动发现并各自建流水线:每个分支有独立的构建历史与状态,逻辑由仓库中的 Jenkinsfile 定义。一套 Jenkinsfile 通过条件分支覆盖合并请求校验与主干发布两种用途;分支删除后要用清理策略回收任务,避免列表和磁盘被残留项越堆越多。

基本信息

发现分支与合并请求自动发现并建流水线
隔离每个分支独立构建历史与状态
清理已删分支的流水线需要清理策略回收
逻辑每个分支读取自己的 Jenkinsfile
场景合并请求校验与主干发布共用一套逻辑
触发配合 webhook 或轮询及时感知推送

按分支区分阶段

按分支区分阶段
pipeline {
  agent any
  stages {
    stage('build') {
      steps { sh 'make build' }  // 所有分支都跑
    }
    stage('deploy') {
      when { branch 'main' }  // 仅主干部署
      steps { sh './deploy.sh staging' }  // 发布步骤
    }
  }
}

典型使用场景

  • 特性分支验证:每个合并请求自动跑构建与测试
  • 主干发布:main 分支流水线执行部署动作
  • 版本分支维护:release 分支单独跑维护流水线
  • 团队拆分:按目录或前缀给不同团队建独立项目
  • 清理策略:定期回收已删除分支对应的任务
  • 权限控制:按分支限制部署凭据的可见范围

配置项与作用

配置作用注意
分支来源指定仓库与凭据webhook 未配则发现延迟
发现策略扫描间隔与过滤全量扫描大仓库可能很重
Jenkinsfile 位置默认仓库根目录路径写错任务建不起来
孤儿清理删除已失效任务不配置会累积噪音
when 条件分支差异化行为条件写错导致误部署
主干发布与合并请求校验的差异交给 when 条件:一套 Jenkinsfile 覆盖两种用途。
删除分支后残留任务:磁盘与列表噪音,需要清理策略。
webhook 未配置时只能靠定时发现:分支推送无法立即触发。
多分支项目的配置随分支层级存放:改配置要在正确层级操作,改错位置只影响单个分支。

易错点

  • 删除分支后残留任务:磁盘与列表噪音,需要清理策略。
  • webhook 未配置:分支推送无法触发发现。
  • Jenkinsfile 放在非默认路径且未声明:新分支任务建不起来。
  • when 分支条件写错:测试分支误触发部署。
  • 发现策略过密:对仓库与 Jenkins 双方都形成压力。

数据来源与参考

  • Jenkins 手册《Multibranch Pipeline》
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌