如何使用 cdk 管道在不同环境(dev、uat、prod)中进行部署?

Shr*_*esh 5 environment pipeline amazon-web-services aws-cdk

当我承诺开发分支时,它必须将代码部署到特定环境(开发)。同样,当我部署到 uat 分支时,它必须部署到 uat 环境。我如何在 aws cdk 管道中实现此功能?有阶段并部署到多个区域,但需要定义是否推送到此分支,然后同样部署到此环境。

Nic*_*Cox 3

最佳方法取决于几个因素,包括您的堆栈是否与环境无关(即是否需要从给定帐户内查找资源。)

为了简单地在不同帐户和区域之间切换,CDK 团队在这里写了一篇不错的文章,其中建议为每个环境使用一个小包装脚本,通过环境变量注入CDK_DEPLOY_ACCOUNT配置CDK_DEPLOY_REGION

如果您想提供其他合成时间上下文,那么您可以通过上下文 API来实现,它允许您“以六种不同的方式”提供配置:

自动从当前 AWS 账户。

通过 cdk 命令的 --context 选项。

在项目的 cdk.context.json 文件中。

在项目的 cdk.json 文件中。

在 ~/.cdk.json 文件的上下文键中。

在您的 AWS CDK 应用程序中使用 Construction.node.setContext 方法。