Как развернуть приложение AWS CDK несколько раз? - PullRequest
0 голосов
/ 17 марта 2020

Можно ли развернуть приложение 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.

...