Add 'Deployment configuration' parameter for Blue/Green Deployment
geoL86 opened this issue · 5 comments
Describe Request:
Add additional optional parameter 'Deployment configuration' for 'update-service' and 'deploy-service-update' jobs.
Examples:
xxx-xxx:
executor: aws-cli/default
resource_class: small
steps:
- aws-ecs/update-service:
family: 'xxx'
cluster-name: 'xxx'
service-name: 'xxx'
codedeploy-application-name: 'xxx'
codedeploy-deployment-group-name: 'xxx'
deployment-controller: 'CODE_DEPLOY'
+ deployment-configuration: 'xxx'
codedeploy-load-balanced-container-name: 'nginx'
codedeploy-load-balanced-container-port: 80
container-image-name-updates: 'container=xxx,tag=xxx'
Supporting Documentation Links:
https://docs.aws.amazon.com/cli/latest/reference/ecs/update-service.html
Hey @geoL86,
I've read the documentation but am still a little unclear about what you're looking to accomplish.
What would be the value of the deployment-configuration
parameter and how would it tie into the aws deploy create-deployment
cli command or the aws ecs update-service
command?
I'm just trying to understand the goal of this parameter so I can go ahead and implement it.
Let me know!
Brian
Hi @brivu,
Sorry for delay, deployment-configuration option allows us to select different deployment configurations for the same application. Fox example we can predefine 3 canary deployment configurations with the same traffic shifting in % but with different time options(M - minutes, P - percent): Canary10M50P, Canary30M50P, Canary60M50P
Then we creat application with deployment configuration by default - Canary10M50P. And use this Bleu/Green deployment for our development or staging environments. But when we are going to deploy our code to prod we want to test app longer than 10 minutes that's why we need to override default deployment configuration with another one: Canary60M50P
This orbs parameter can be optional - in this case new deployment will use deployment configuration by default.
AWS API and UI already support this option.
Hey @geoL86,
According to the AWS
Documentation that you sent me, the --deployment-configuration
can be passed in with shorthand syntax like below:
deploymentCircuitBreaker={enable=boolean,rollback=boolean},maximumPercent=integer,minimumHealthyPercent=integer
Let me know if that's what you had in mind. I'll go ahead and work on adding this parameter for an upcoming release.
Thank you!
Best,
Brian
Hey @geoL86,
I took a deeper look and realized that you wanted to add this parameter to Blue/Green Deployments
with the update-service
command. In order to do so, the command used with Blue/Green
is aws deploy create-deployment
but the article that you sent uses the aws ecs update-service
command.
I'm assuming you'd like to use the aws deploy
command with the --deployment-config-name
parameter where the name of a predefined deployment configuration is passed in.
Let me know if that sounds right for you!
Best,
Brian