We have started doing some initial work on deploying containers on ECS Fargate service.
However we are not yet completely figured out how to manage our image promotion across different environments.
In our case, developers managed their own environment so they can deploy the docker image specifying just the tag of something they have built.
We only have UAT and PROD environments , As of now whatever we have in develop
branch got baked in as image and pushed to ECR as develop
tag and that gets deployed to UAT.
we release the code from develop to master as part of our release process.
During the release process ( from develop to master merge ) we create another container image this time on merge to master and that gets pushed to ECR as master
tag which gets deployed to PROD.
I think this process is not ideal and it can be improved by a lot margin.
We shouldn't need to create image on each stage and should promote the same image tag in across environments ( i.e whatever we have in UAT will get QA/TESTED and released to PROD as artifact ), how are you managing this image promotion across environment ? what are other release process look like ?
We are currently tagging our image as branch tag i.e develop or master , How are you managing these tags creation ? Are you using GIT SHA ? or Sem ver ?
Any other improvements or general comments can be really helpful as well.