Создание ServerDeploymentGroup в AWS-CDK, которое развертывается в группе автоматического вызова с помощью codedeploy

Я пытаюсь создать конвейер AWS, используя aws-cdk (язык Java). Фазы следующие: Источник: Codecommit Build: Codebuild Deploy: Deploy to Autoscalling group using CodeDeploy

Я изо всех сил пытаюсь создать ServerDeploymentGroup с помощью aws cdk. Я уже создал группу Autoscalling, которую я хочу использовать в ServerDeploymentGroup. Но не удалось настроить это в AWS-CDK. Получение ClassCastException:

Вот мой код, который предназначен для создания AutoscallingGroup и ServerDeploymentGroup.

AutoScalingGroup autoScalingGroup = (AutoScalingGroup) AutoScalingGroup.fromAutoScalingGroupName(this, "autoscallinggroup", "myautscallinggroup");    
        List<AutoScalingGroup> autoScalingGroupList =  new ArrayList<AutoScalingGroup>();
        autoScalingGroupList.add(autoScalingGroup);
        
        ServerDeploymentConfig deploymentConfig = (ServerDeploymentConfig) ServerDeploymentConfig.ALL_AT_ONCE;
        ServerApplication application = ServerApplication.Builder.create(this, "codedeployapplication")
                                     .applicationName("mydeployapplication")
                                     .build();
        
        
        ServerDeploymentGroup deploymentGroup = ServerDeploymentGroup.Builder.create(this, "codedeploymentgroup")
                                                .application(application)
                                                .autoScalingGroups(autoScalingGroupList)
                                                .deploymentGroupName("MyDeploymentGroup")
                                                .deploymentConfig(deploymentConfig)
                                                .installAgent(true)
                                                .role(codeDeployRole)
                                                .build();

Вот исключение, которое я получаю:

java.lang.ClassCastException: class software.amazon.awscdk.services.autoscaling.IAutoScalingGroup$Jsii$Proxy cannot be cast to class software.amazon.awscdk.services.autoscaling.AutoScalingGroup (software.amazon.awscdk.services.autoscaling.IAutoScalingGroup$Jsii$Proxy and software.amazon.awscdk.services.autoscaling.AutoScalingGroup are in unnamed module of loader 'app')

Любая помощь по этому поводу? Как решить эту проблему в aws-cdk?


person Arshad    schedule 20.07.2020    source источник


Ответы (1)


В коде AWS CDK возникла ошибка, из-за которой ServerDeploymentGroup принимала List of AutoscalingGroup вместо List of IAutoScalingGroup. Ошибка исправлена ​​в выпуске v1.58.0 от 12 августа. Теперь я могу решить вышеупомянутую проблему.

Взгляните сюда. https://github.com/aws/aws-cdk/pull/9252

person Arshad    schedule 13.08.2020