分支流水线是什么
针对分支推送的常规验证流水线:工作分支跑测试与静态检查,默认分支额外构建可发布制品。适用场景是每次 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分支流水线宜控制在分钟级,把重活(全量回归、压测)放到主干或定时任务。
同一提交的推送与合并请求可能产生两条流水线:用规则收敛触发,避免资源翻倍。
保护分支允许直接推送会绕过评审与合并门禁:启用分支保护,让主干的每次变更都经过检查。