aws / aws-codedeploy-agent

Host Agent for AWS CodeDeploy
https://aws.amazon.com/codedeploy
Apache License 2.0
328 stars 188 forks source link

Feature Request: Codedeploy does not support ECS "Rolling Update" deployment strategy #304

Closed sushantmagoo closed 2 years ago

sushantmagoo commented 3 years ago

What I was trying:

I created an ECS cluster, for service I chose, "EC2-type" launch type with "Rolling Update" deployment strategy. I was able to create a Codebuild application successfully for the same. While creating the Codedeploy app I got this error, "Deployment group's ECS service must be configured for a CODE_DEPLOY deployment control. I intend to use Codepipeline with Codebuild project as the build step and Codedeploy project as the deployment step.

What I don't want to try:

I am aware that I can use "Codepipeline with Codebuild as the build step and ECS as the deployment step". This is suggested as per AWS documentation for Rolling Update. Please read below for "why I don't want to use this".

Steps I followed:

  1. I created an ECS cluster, for service I chose EC2-type launch type with Rolling Update deployment strategy.
  2. For CI/CD I created a project in Codebuild to build docker images and push them to ECR
  3. But while creating Codedeploy application I got this error, "Deployment group's ECS service must be configured for a CODE_DEPLOY deployment controller."
  4. Once these both are created then, will create Codepipeline project using both of them for the build and deploy step.

What I want to achieve:

I want to use Codepipeline with Codebuild project as the build step and Codedeploy project as the deployment step, similar to the Blue-Green deployment strategy.

My end goal:

Once I am able to use Codepipeline with Codebuild as the build step and Codedeploy as the deployment step. I will then replace Codepipeline with Jenkins and will use Codebuild and Codedeploy plugins for Jenkins. I use Jenkins for all of my projects, so I want to avoid anything else.

keithcyu commented 2 years ago

Hi Sushant,

I believe you're looking for the ECS deployment offered by CodeDeploy: https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-steps-ecs.html

However, please reach out to AWS Support for a more detailed look into your use case: https://docs.aws.amazon.com/awssupport/latest/user/case-management.html

Closing this issue as this is not relevant to AWS CodeDeploy Agent.