首页/开发/CI/CD 与发布速查/分支流水线(Branch Pipeline)
流水线设计54 条

分支流水线(Branch Pipeline)

针对分支推送的常规验证流水线:工作分支跑测试与静态检查,默认分支额外构建可发布制品。

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

分支流水线是什么

针对分支推送的常规验证流水线:工作分支跑测试与静态检查,默认分支额外构建可发布制品。适用场景是每次 push 的快速验证;常见配置是工作分支单测加静态检查、主干附加打包与集成测试。平台形态:GitLab 的分支流水线、GitHub 的 push 事件、Jenkins 的多分支项目。原则是分支流水线控制在分钟级,把重活(全量回归、压测)放到主干或定时任务,避免每次推送都排队等重型检查。

基本信息

适用每次 push 的快速验证
常见配置工作分支单测加静态检查;主干附加打包与集成测试
平台GitLab 分支流水线、GitHub push、Jenkins 多分支
时间预算控制在分钟级,重活下放到主干或定时
保护联动保护分支配合评审与状态检查

典型使用场景

  • 功能分支开发:每次推送跑快速检查,尽早发现低级错误。
  • 主干保持可发布:主干流水线承担打包与更完整验证。
  • 长尾分支治理:老旧分支用规则减少运行或归档关闭。
  • 发布分支:发布分支跑与主干相仿的验证并产出制品。
  • 资源分层:普通分支共享运行器,主干使用专用资源。
  • 与 MR 流水线配合:推送验证在前,合并结果验证兜底。

GitHub 分支过滤

GitHub 分支过滤
on:
  push:
    branches: [main, 'release/**']

GitLab 规则

GitLab 规则
rules:
  - if: $CI_COMMIT_BRANCH
    when: on_success
分支流水线宜控制在分钟级,把重活(全量回归、压测)放到主干或定时任务。
同一提交的推送与合并请求可能产生两条流水线:用规则收敛触发,避免资源翻倍。
保护分支允许直接推送会绕过评审与合并门禁:启用分支保护,让主干的每次变更都经过检查。

易错点

  • 所有分支跑全量流水线:时长与资源被长尾分支拖垮,按分支分层配置检查范围。
  • 保护分支允许直接推送:绕过评审与合并门禁,应配合分支保护规则。
  • 分支缓存互相污染:共享过宽的缓存键导致幽灵问题,按分支或锁文件隔离键。
  • 规则写死分支名列表:新增分支漏配规则后静默不跑检查,新分支先小步试跑核对触达。
  • 重活固定在分支流水线:每次推送排队时间变长、反馈变慢,应把重活移到主干或定时任务。

数据来源与参考

  • GitLab Docs《CI/CD pipelines》
  • GitHub Docs《Workflow syntax for GitHub Actions》
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌