【问题标题】:Creating ServerDeploymentGroup in AWS-CDK that deploys to autoscalling group using codedeploy在 AWS-CDK 中创建使用 codedeploy 部署到自动扩展组的 ServerDeploymentGroup
【发布时间】:2020-11-09 23:11:15
【问题描述】:

我正在尝试使用 aws-cdk(Java 语言)创建 AWS 管道。阶段如下: 资料来源:代码提交 构建:代码构建 部署:使用 CodeDeploy 部署到 Autoscaling 组

我正在努力使用 aws cdk 创建 ServerDeploymentGroup。我已经创建了要在 ServerDeploymentGroup 中使用的 Autoscaling 组。但无法在 AWS-CDK 中进行配置。获取 ClassCastException:

这是我的代码,用于创建 AutoscalingGroup 和创建 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 中解决这个问题?

【问题讨论】:

    标签: java amazon-web-services continuous-integration aws-code-deploy aws-cdk


    【解决方案1】:

    AWS CDK 代码中存在错误,导致 ServerDeploymentGroup 接受 AutoscalingGroup 列表而不是 IAutoScalingGroup 列表。该错误已在 8 月 12 日的 v1.58.0 版本中修复。 现在我可以解决我上面提到的问题了。

    看这里。 https://github.com/aws/aws-cdk/pull/9252

    【讨论】:

      猜你喜欢
      • 2021-12-29
      • 1970-01-01
      • 2020-07-21
      • 2019-09-21
      • 2020-11-23
      • 2020-03-21
      • 2022-07-21
      • 2018-04-27
      • 2014-05-28
      相关资源
      最近更新 更多