【问题标题】:CloudFormation fails to create CodeDeploy DeploymentGroupCloudFormation 无法创建 CodeDeploy 部署组
【发布时间】:2019-09-21 12:06:08
【问题描述】:

我正在尝试整合一些 CloudFormation 来设置 CodePipeline 以从 Github 部署到 ECS/Fargate。

但是,我一直收到错误:

For ECS deployment group, ec2TagFilters can not be specified (Service: AmazonCodeDeploy; Status Code: 400; Error Code: InvalidEC2TagException;

每当我尝试建立我的 CloudFormation 堆栈时。但是,我的文件中根本没有“ec2TagFilters”。

我能找到的关于这个问题的唯一参考是旧的StackOverflow question,但他们针对的是 Lambda,建议的“修复”对我不起作用。

CF YAML的相关sn-p:

    ExampleApp:
      Type: AWS::CodeDeploy::Application
      Properties:
        ApplicationName: !Join [ "-", [ "example", !Ref "Environment" ] ]
        ComputePlatform: ECS

    ExampleDeploymentGroup:
      Type: AWS::CodeDeploy::DeploymentGroup
      Properties:
        ApplicationName: !Ref ExampleApp
        DeploymentGroupName: !Join [ "-", [ "example", !Ref "Environment"] ]
        ServiceRoleArn: !Ref ServiceRoleArn

【问题讨论】:

  • 我得到了同样的结果。你找到解决办法了吗?
  • 也有同样的问题。你解决了吗?

标签: amazon-web-services amazon-cloudformation aws-code-deploy


【解决方案1】:

我从来没有让这个工作。但是,我意识到我的设置不需要 Application/DeploymentGroup。

CodeDeploy 可以在部署步骤中使用“ECS”作为提供程序,从而消除了必要性。

为任何最终来到这里的人提供 CF:

- Name: Deploy
  Actions:
    - Name: Deploy
      RunOrder: 2
      InputArtifacts:
        - Name: AppBuilt
      ActionTypeId:
        Category: Deploy
        Owner: AWS
        Version: 1
        Provider: ECS
      Configuration:
        ClusterName: !Ref EcsCluster
        ServiceName: !Ref EcsService

【讨论】:

    【解决方案2】:

    来自 AWS 文档:

    通过 CodeDeploy 的 ECS 蓝/绿部署不使用 AWS::CodeDeploy::DeploymentGroup 资源。

    见:https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentgroup.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-04-13
      • 2020-10-25
      • 2016-09-13
      • 1970-01-01
      • 2017-11-12
      • 2020-05-19
      • 2018-10-01
      • 2018-05-19
      相关资源
      最近更新 更多