Можно ли развернуть приложение CDK на одну и ту же учетную запись несколько раз? Я хочу запустить synth
один раз, а затем запустить cdk deploy
для этого синтезированного шаблона несколько раз.
Я вижу, что недавний релиз CDK 1.26 * позволяет передавать CloudFormation параметры в deploy command
(через # 1237 ). Это означает, что я могу параметризовать содержимое стека, но я не знаю, как изменить имя / идентификатор самого приложения.
Например, вот простое приложение:
public class ExampleApp {
public static void main(final String[] args) {
App app = new App();
new ExampleStack(app, "ExampleStack");
app.synth();
}
}
и вот простой стек бездействия:
public class ExampleStack extends Stack {
public ExampleStack(final Construct scope, final String id) {
this(scope, id, null);
}
public ExampleStack(final Construct scope, final String id, final StackProps props) {
super(scope, id, props);
CfnParameter someVar = CfnParameter.Builder.create(this, "SomeVar")
.description("Some variable that can be passed in at deploy-time.")
.type("String")
.build();
// rest of stack here
}
}
Я могу запустить cdk synth
и вывести шаблон куда-нибудь, затем запустить
cdk --app path/to/cdk.out deploy ExampleStack --parameters "ExampleStack:SomeVar=SomeValue"
, и параметр будет передается в стек во время развертывания.
Однако я не вижу, как развернуть приложение несколько раз с разными именами (или идентификаторами). Возможно ли это?
Причина, по которой я хочу сделать это, а не запускать synth
несколько раз, заключается в том, что по соображениям соответствия мне нужен один артефакт - каталог cdk.out
- и затем разверните его многократно. С этой целью я не могу использовать ответы, основанные на нескольких прогонах synth
.