{{< details >}}

  • Tier: 专业版,旗舰版
  • Offering: JihuLab.com, 私有化部署

{{< /details >}}

您可以要求对受保护环境的部署进行额外批准。在所有必需的批准都获得之前,部署将被阻止。

使用部署批准来适应测试、安全或合规流程。例如,您可能希望对生产环境的部署进行批准。

配置部署批准

您可以在项目中要求对受保护环境的部署进行批准。

先决条件:

  • 要更新环境,您必须至少拥有维护者角色。

要为项目配置部署批准:

  1. 在项目的 .gitlab-ci.yml 文件中创建一个部署任务:

    stages:
      - deploy
    
    production:
      stage: deploy
      script:
        - 'echo "Deploying to ${CI_ENVIRONMENT_NAME}"'
      environment:
        name: ${CI_JOB_NAME}
        action: start
    

    此任务不需要是手动的 (when: manual)。

  2. 添加所需的 批准规则

项目中的环境需要在部署之前获得批准。

添加多个批准规则

{{< 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管理员可以批准或拒绝所有部署。

要允许自我批准部署任务:

  1. 在左侧边栏中,选择 搜索或前往 并找到您的项目。
  2. 选择 设置 > CI/CD
  3. 展开 受保护的环境
  4. 批准选项 中,选择 允许流水线触发者批准部署 复选框。

批准或拒绝部署

在具有多个批准规则的环境中,您可以:

  • 批准部署以允许其继续。
  • 拒绝部署以阻止其进行。

先决条件:

  • 您有权限部署到受保护环境。

要批准或拒绝部署:

  1. 在左侧边栏中,选择 搜索或前往 并找到您的项目。
  2. 选择 操作 > 环境
  3. 选择环境的名称。
  4. 找到部署并选择其 状态徽章
  5. 可选。添加描述您批准或拒绝部署原因的评论。
  6. 选择 批准拒绝

您也可以 使用 API

在部署获得批准后,对应的部署任务不会自动运行。

查看部署的批准详情

先决条件:

  • 您有权限部署到受保护环境。

对受保护环境的部署只有在获得所有必需的批准后才能继续进行。

要查看部署的批准详情:

  1. 在左侧边栏中,选择 搜索或前往 并找到您的项目。
  2. 选择 操作 > 环境
  3. 选择环境的名称。
  4. 找到部署并选择其 状态徽章

显示批准状态详情:

  • 合格的批准者
  • 已授予的批准数量,以及所需的批准数量
  • 已授予批准的用户
  • 批准或拒绝的历史记录

查看被阻止的部署

查看您的部署状态,包括部署是否被阻止。

要查看您的部署:

  1. 在左侧边栏中,选择 搜索或前往 并找到您的项目。
  2. 选择 操作 > 环境
  3. 选择正在部署的环境。

具有 阻止 标签的部署被阻止。

要查看您的部署,您也可以 使用 APIstatus 字段指示部署是否被阻止。