Need a guide for CI/CD to enable parallel development & streamline releases

0

currently, we are using codepipeline for CI/CD with ECS fargate as a launch type and we have everything setup in CDK. the problem I am facing is we have a main branch (github branch) which is bind to codepipeline. this single branch hold release changes so when release is planned to production, I can not really merge anything to main as freeze time is started. This is a bit of crunch for us as we can not do parallel development and I want to understand how can we solve this with codepipeline in efficient way.

one thought was to create development branch where we can parallely push the changes and override the containers with development code and when we need the original release ready code then we can add a step in codepipeline to redo the build.

And yes, we thought of creating a separate codepipeline for development and separate environment for it but does not seem a good solution as it involves additional cost.

so I am looking for better solutioning here!

已提问 8 个月前288 查看次数
1 回答
0

I think it's not an AWS-specific thing. A common solution is to decouple deployment from releases of features by using feature flags. There are solutions like https://launchdarkly.com, or simply a GitHub-hosted repo to host key-value, or just use Parameter Store(AppConfig was supposed to be a feature flag solution, however its design couples with the deployment). A lot of feature flag solutions also include analytics(handy for cleaning up old redundant flags, manually or automatically), audit logs, target evaluation...

You would still plan releases - but independently from the continuous deployments. Release/Rollback is in a sec and auditable.

profile picture
已回答 8 个月前

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

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

回答问题的准则