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 個月前

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。

回答問題指南