CodeDeploy How to set dynamic Capacity Provider

0

We are deploying a set of containers into various accounts using CodePipeline and CodeDeploy. Each account has a different capacity provider name so our question is how can we set up the AppSpec.yaml file to dynamically change the Capacity Provider depending on the account? Is there an environment variable that CodeDeploy can leverage as it does the <TASK_DEFINITION> value?

version: 0.0
Resources:
  - TargetService:
      Type: AWS::ECS::Service
      Properties:
        TaskDefinition: <TASK_DEFINITION>
        LoadBalancerInfo:
          ContainerName: 'name-of-container'
          ContainerPort: 80
         CapacityProviderStrategy:
           - Base: 1
             CapacityProvider: "how-do-i-set-this-dynamically-based-on-account-or-environment"
             Weight: 1
已提问 2 个月前167 查看次数
1 回答
0

Hello.

I don't think capacity providers have a placeholder like <TASK_DEFINITION>.
Therefore, I thought that a workaround would be to use something like CodeBuild to rewrite the capacity provider name in appspec.yml during the build phase.
https://docs.aws.amazon.com/codebuild/latest/userguide/welcome.html

profile picture
专家
已回答 2 个月前
profile picture
专家
已审核 2 个月前
  • Thank you. But adding it on the Build would require us to change all the existing capacity providers to have the same name. What we are trying to do is make it dynamic. But to your point, it may just not be possible.

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则