You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在AWS CDK CodePipelines中添加生产部署前的手动审批阶段

实现方案

在AWS CDK Pipelines中内置了ManualApprovalStep组件,可直接用于在Stage执行前/后插入手动审批节点,无需手动在控制台配置,修改代码如下:

1. 导入依赖

在原有代码的导入部分新增ManualApprovalStep的引入:

import {
  CodePipeline,
  ShellStep,
  CodePipelineSource,
  ManualApprovalStep // 新增手动审批步骤导入
} from '@aws-cdk/pipelines';

2. 调整生产流水线Stage配置

修改生产流水线添加ApplicationStage的逻辑,通过pre参数在Stage执行前注入审批步骤:

prodPipeline.addStage(new ApplicationStage(this, 'Production'), {
  // 部署到生产前执行的前置步骤
  pre: [
    new ManualApprovalStep('ProdDeploymentApproval', {
      // 审批提示信息,会展示在CodePipeline控制台的审批弹窗中
      comment: '请确认预发环境验证已通过,允许发布到生产环境',
      // 可选配置:审批通知邮件地址,流水线到该步骤时会自动发邮件通知
      notifyEmails: ['devops@yourcompany.com', 'release-manager@yourcompany.com']
    })
  ]
});

可选扩展配置

如果需要限制仅特定角色/用户可执行审批,可以在CDK中为审批步骤附加IAM权限限制,示例如下:

import * as iam from '@aws-cdk/aws-iam';

const approvalStep = new ManualApprovalStep('ProdDeploymentApproval', {
  comment: '生产发布审批'
});
// 仅允许指定IAM角色拥有审批权限
approvalStep.addToRolePolicy(new iam.PolicyStatement({
  effect: iam.Effect.DENY,
  actions: ['codepipeline:PutApprovalResult'],
  notPrincipals: [new iam.ArnPrincipal('arn:aws:iam::ACCOUNT_ID:role/ReleaseApprovalRole')]
}))

注意事项

  • 修改完成后执行cdk deploy ProductionCDKPipeline更新流水线配置即可生效
  • 审批节点触发后,流水线会暂停执行,直到有权限的用户在CodePipeline控制台选择批准或拒绝
  • 拒绝审批后流水线会直接终止,不会执行后续的生产部署步骤

内容的提问来源于stack exchange,提问作者gameFrenzy07

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 05:15:04