I am looking for some feedback on how we can improve our release pipeline in Azure.
We have multiple environments with a corresponding deploy/*
branch. Once these deploy branches are updated a release is triggered.
We are trying to implement a workflow to support Trunk Based Development as much as possible. Currently, we do all dev work on main
and then cut a release/*
branch from main
when required.
When a release
branch is cut, this will trigger the corresponding stage (RELEASE
) in our Azure releases pipeline. This stage workflow would update and promote release/*
to the required deploy
branches through a bash script (Promote Release...
). This in turn triggers the promotion to the corresponding environment. It looks like this:
release/v1.0.0
cut from main
release/v1.0.0
-> deploy/uat, deploy/preprod
deploy/uat
-> UAT
environment
deploy/preprod
-> PREPROD
environment
This works ok, I just don't love the fact we have a branch per environment. I'd like to get some suggestions on how this can be improved and make it more efficient.