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달 전

로그인하지 않았습니다. 로그인해야 답변을 게시할 수 있습니다.

좋은 답변은 질문에 명확하게 답하고 건설적인 피드백을 제공하며 질문자의 전문적인 성장을 장려합니다.

질문 답변하기에 대한 가이드라인

관련 콘텐츠