We have setup a CI build on our main git branch that gets tested. Deployment jobs then take the artifacts of a selected successful build and without rebuilding, deploy them to a live, qa or demo environment.
In trying to streamline this we are using tags and by default a deployment job will deploy the latest tagged build. (It would be great if setting a tag or pinning could trigger a build)
Occasionally we custom build from a different branch and the new branch awareness is very nice but dependancies completely ignore these branches and there seems to be no way to refer to tags/latest commit on a given branch in the deployment jobs. You end up having to run deploy as a custom build and manually select a build. The only way round this seems to be to ignore the branch awareness and make seperate build jobs for each branch, although that isn't very dynamic. Am I missing something?
From googling a lot of people seem to be suggesting to make more use of snapshop dependancies. But we want to deploy the build that was tested rather than rebuild so that doesn't seem appropriate. Is this not a common approach?