【问题标题】:CloudFormation - CodeDeploy deployment group already existsCloudFormation - CodeDeploy 部署组已存在
【发布时间】:2016-10-13 21:14:57
【问题描述】:

我正在使用 CF 为 CodeDeploy 应用程序创建部署组,但我不断收到错误消息,指出部署组已经存在(它确实存在,但它属于不同的 CodeDeploy 应用程序)。如果我手动创建它,那很好。这是模板:

"DeploymentGroup": {
  "Description": "Create a deployment group",
  "DependsOn": [
    "EC2Instance"
  ],
  "Type" : "AWS::CodeDeploy::DeploymentGroup",
  "Properties" : {
    "ApplicationName" : "Foo",
    "DeploymentConfigName": "CodeDeployDefault.AllAtOnce",
    "DeploymentGroupName": "foo-group",
    "Ec2TagFilters" : [
      {
        "Key" : "Name",
        "Value" : "Foo",
        "Type" : "KEY_AND_VALUE"
      }
    ],
    "ServiceRoleArn" : "...."
  }
},

【问题讨论】:

  • 部署组的名称对于与部署组关联的每个应用程序必须是唯一的。只需确认您的问题中描述的配置满足该要求即可。
  • 是在一个应用程序中是唯一的,但不是在所有应用程序中都是唯一的。麻烦的是,如果我手动创建它,就可以了。

标签: aws-code-deploy amazon-cloudformation


【解决方案1】:

【讨论】:

    【解决方案2】:

    如果部署组名称由于其名称类型而创建为 CF 堆栈的一部分,则该名称必须是唯一的:

    http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html

    我通过将应用程序名称添加到部署组名称来解决此问题。

    DeploymentGroup:
      Type: "AWS::CodeDeploy::DeploymentGroup"
      Properties:
        ApplicationName: !Ref DeployApplication
        DeploymentGroupName: !Sub "${DeployApplication}_${DeploymentGroupName}"
        ServiceRoleArn: !GetAtt CodeDeployServiceRole.Arn
    

    【讨论】:

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