受保护分支与保护变量是什么
受保护分支与标签限制推送与合并权限;标记为保护的变量只在受保护上下文(如受保护分支与标签的流水线)可用,用于把发布凭据留给受控流程。权限按角色控制谁能推送与合并,配合受保护环境与审批构成生产发布的完整门禁。
基本信息
| 保护对象 | 分支、标签 |
|---|---|
| 变量联动 | 保护变量仅在受保护分支或标签流水线展开 |
| 权限 | 按角色控制推送与合并 |
| 配合 | 受保护环境加审批 |
| 上下文 | 合并请求流水线不属于受保护上下文 |
| 豁免 | 紧急变更走后补记录的例外流程 |
| 维护 | 定期复核角色与保护范围 |
保护项与效果
| 保护项 | 限制 | 效果 |
|---|---|---|
| 分支 | 推送与合并权限 | 主干仅受控人员可写 |
| 标签 | 创建与删除权限 | 发布标签可信 |
| 保护变量 | 仅受保护上下文可见 | 凭据不进入普通流水线 |
| 受保护环境 | 部署审批 | 上线需批准 |
使用受保护变量
使用受保护变量
deploy-prod:
stage: deploy
script: [./deploy.sh prod]
environment: production
# 仅主干分支触发,命中受保护上下文
rules:
- if: '$CI_COMMIT_BRANCH == "main"'
# 保护变量在此类分支流水线才展开典型使用场景
- 生产发布:凭据仅在主干分支流水线中可用,降低泄露面
- 主干保护:限制直接推送,变更必须经合并请求
- 标签发布:限制标签创建权限,保证发布版本可信
- 环境审批:受保护环境要求批准后再部署
- 权限审计:定期核对保护规则与人员角色是否匹配
- 最小范围:保护主干与发布标签即可,规则过宽难以维护
合并请求流水线不在受保护分支上下文:依赖保护变量的发布作业要以分支流水线形态设计。保护规则变更要与团队同步。
保护规则要能落地:角色与保护范围脱节时,规则只会被例外流程绕过。