Aws-cdk: [codedeploy] Add ECSApplication types

Created on 20 Mar 2019  路  17Comments  路  Source: aws/aws-cdk

Currently, server and lambda application constructs are available, however ECS is also a supported application type. Adding this construct (and it's child constructs) will facilitate setup of deployment actions to ECS, including Blue/Green deployments (#1559).

@aws-cdaws-codedeploy feature-request needs-cfn

Most helpful comment

Looks like CF just added support for a CODE_DEPLOY AWS::ECS::Service DeploymentController Type:
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-deploymentcontroller.html

All 17 comments

Unfortunately, this is not modeled in CloudFormation yet :(

@skinny85 can you clarify what is not yet supported by CF? Is it that AWS::CodeDeploy::Application does not yet accept a computePlatform of ECS despite the docs alluding to it?

Also, do you know if this is the responsibility of the containers team or the CF team to implement the missing support?

this has been talked about for months now ... trying to get the ECS / CF team to implement this is proving to be taxing.

@mmoulton yes, it's present in the API for CodeDeploy, and that's where the documentation points to, but still not in CloudFormation unfortunately.

Yes. Need the cloudformation support. Waiting since a long time

Thanks all. @skinny85 do you happen to know if it's the codedeploy team, the containers team, or the larger CF team that needs to do the implementation? Since the containers team has already integrated with codedeploy, it makes me think that the CodeDeploy CF resources are where the work is still left to be done, but I'm not sure. It would be helpful to know when I'm asking my reps.

How do you guys tackle deployments to ECS? Creating the pipeline and codedeploy project manually?

We use the ECS deploy Action that does rolling (instead of blue-green) deployments.

We use the ECS deploy Action that does rolling (instead of blue-green) deployments.

Thanks for your reply. How do you use it? Seems like that action isn't part of the 0.28 release on npmjs

Ah yes, my apologies. It's still very fresh. It will be present in our next release, 0.29.0.

Here's the ticket tracking this functionality in the newly open-sourced CloudFormation public roadmap: https://github.com/aws-cloudformation/aws-cloudformation-coverage-roadmap/issues/37

Feel free to pile on with +1 in that issue to get it prioritized!

Even if blue/green deployments might not be supported via CloudFormation, it seems to be possible to define an AWS::CodeDeploy::Application resource with ECS as the compute platform: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-application.html#aws-resource-codedeploy-application-properties; it also worked when I created one through CF.

I guess it'd be possible use this in combination with a custom resource that provisions a blue/green deployment group on the application.

any news on this?

EcsApplication construct is done:
https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-codedeploy.EcsApplication.html

There is also an EcsDeploymentGroup class, but it is only for importing an existing CodeDeploy deployment group created outside of CloudFormation:
https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-codedeploy.EcsDeploymentGroup.html

And there is a CodePipeline action for ECS-CodeDeploy deployments:
https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-codepipeline-actions.CodeDeployEcsDeployAction.html

Looks like CF just added support for a CODE_DEPLOY AWS::ECS::Service DeploymentController Type:
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-deploymentcontroller.html

Any updates for this?

Yes, this was done in #4600.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

Kent1 picture Kent1  路  3Comments

nzspambot picture nzspambot  路  3Comments

eladb picture eladb  路  3Comments

mirazmamun picture mirazmamun  路  3Comments

ababra picture ababra  路  3Comments