{{< details >}}
- Tier: 专业版,旗舰版
- Offering: JihuLab.com, 私有化部署
{{< /details >}}
您可以要求对受保护环境的部署进行额外批准。在所有必需的批准都获得之前,部署将被阻止。
使用部署批准来适应测试、安全或合规流程。例如,您可能希望对生产环境的部署进行批准。
配置部署批准
您可以在项目中要求对受保护环境的部署进行批准。
先决条件:
- 要更新环境,您必须至少拥有维护者角色。
要为项目配置部署批准:
-
在项目的
.gitlab-ci.yml
文件中创建一个部署任务:stages: - deploy production: stage: deploy script: - 'echo "Deploying to ${CI_ENVIRONMENT_NAME}"' environment: name: ${CI_JOB_NAME} action: start
此任务不需要是手动的 (
when: manual
)。 -
添加所需的 批准规则。
项目中的环境需要在部署之前获得批准。
添加多个批准规则
{{< history >}}
- 在极狐GitLab 15.0 中 GA。功能标志
deployment_approval_rules
被移除。 - UI 配置引入于极狐GitLab 15.11。
{{< /history >}}
添加多个批准规则来控制谁可以批准和执行部署任务。
要配置多个批准规则,请使用 CI/CD 设置。您也可以 使用 API。
所有部署到环境的任务都被阻止并等待批准后再运行。确保所需的批准人数少于被允许部署的用户人数。
在部署任务获得批准后,您必须 手动运行任务。
允许自我批准
{{< history >}}
- 引入于极狐GitLab 15.8。
- 自动批准在极狐GitLab 16.2 中被移除。
{{< /history >}}
默认情况下,触发部署流水线的用户不能同时批准部署任务。
极狐GitLab管理员可以批准或拒绝所有部署。
要允许自我批准部署任务:
- 在左侧边栏中,选择 搜索或前往 并找到您的项目。
- 选择 设置 > CI/CD。
- 展开 受保护的环境。
- 从 批准选项 中,选择 允许流水线触发者批准部署 复选框。
批准或拒绝部署
在具有多个批准规则的环境中,您可以:
- 批准部署以允许其继续。
- 拒绝部署以阻止其进行。
先决条件:
- 您有权限部署到受保护环境。
要批准或拒绝部署:
- 在左侧边栏中,选择 搜索或前往 并找到您的项目。
- 选择 操作 > 环境。
- 选择环境的名称。
- 找到部署并选择其 状态徽章。
- 可选。添加描述您批准或拒绝部署原因的评论。
- 选择 批准 或 拒绝。
您也可以 使用 API。
在部署获得批准后,对应的部署任务不会自动运行。
查看部署的批准详情
先决条件:
- 您有权限部署到受保护环境。
对受保护环境的部署只有在获得所有必需的批准后才能继续进行。
要查看部署的批准详情:
- 在左侧边栏中,选择 搜索或前往 并找到您的项目。
- 选择 操作 > 环境。
- 选择环境的名称。
- 找到部署并选择其 状态徽章。
显示批准状态详情:
- 合格的批准者
- 已授予的批准数量,以及所需的批准数量
- 已授予批准的用户
- 批准或拒绝的历史记录
查看被阻止的部署
查看您的部署状态,包括部署是否被阻止。
要查看您的部署:
- 在左侧边栏中,选择 搜索或前往 并找到您的项目。
- 选择 操作 > 环境。
- 选择正在部署的环境。
具有 阻止 标签的部署被阻止。
要查看您的部署,您也可以 使用 API。status
字段指示部署是否被阻止。