我有一个非常简单的 cdk 项目:
import * as cdk from '@aws-cdk/core';
import { TestStack } from '../lib/test-stack';
const app = new cdk.App();
new TestStack(app, 'TestStack');
我可以使用 cdk deploy 轻松部署堆栈,并且堆栈的名称在 AWS 上为“TestStack”。到目前为止,一切都很好。但是我想控制cloudformation中堆栈的名称。有什么方法可以 fdo cdk 部署并更改 AWS 中堆栈的默认名称吗?
像cdk部署--stack-name SomeName之类的东西? ((stack-name是一个组成的命令))
我想知道这一点,因为我希望能够构建一个部署系统,该系统可以从单个 cdk 项目构建多个堆栈。根据输入参数,每个堆栈都会略有不同。类似的东西
cdk deploy --stackName Stack1 --parameters parameters1
cdk deploy --stackName Stack2 --parameters parameters2
cdk deploy --stackName Stack3 --parameters parameters3
最终我将在 AWS 中同时拥有 Stack1、Stack2 和 Stack3。
最佳答案
我是根据上下文做的
//Get data from Conext
const stackName = app.node.tryGetContext('stackName')
new TestCdkProjectStack(app, 'TestCdkProjectStack', {stackName: stackName});
使用--context选项运行CDK部署:
cdk deploy --context stackName=YourStack
您还可以在 cdk.json 文件中添加上下文数据
关于amazon-web-services - 使用 CDK Deploy 时如何更改 StackName,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66983477/