We have been using TeamCity for a while now (love it!).
A review of our processes has meant a change in the way our branch structure will work. Rather than try and update our current configuration I want to start afresh and would like some input.
Our SVN repositorry will be as follows (it doesn't *have* to, it could follow the more standard version of trunk and branches):
The numbered branches are release versions but I doubt that's important for this dicussion.
We have 4 different cloud environmens (will grow) and 4 self hosted customers (will grow).
We deploy to Internal Test, UAT(Cloud1/2/3/4), Prod (Cloud1/2/3/4), Prod (self hosted cust1/2/3/4)
Up until now we have (mostly) 1 TC configuration for each branch/deployment method (so Trunk\Test, Trunk\UATCloud1, Trunk\UATCloud2,... Trunk\ProdCloud1,Trunk\ProdCloud2... Trunk\ProdCust1,Trunk\ProdCust2...Next\Test, Next\UATCloud1, Next\UATCloud2,... Next\ProdCloud1,Next\ProdCloud2... Next\ProdCust1,Next\ProdCust2.. errr.... you get the idea)
The difference in configurations (other than the source branch) is generally just the Deployment target (which can make any number of changes to config in the build script)
We have 1 configuration for each branch (Internal test) that is CI. The others we push as needed.
What we need is to be able to look in TC and be able to say build # x came from Branch Y and had these changes
But I'd like not to have to set up a config for every combination.
I'm thinking maybe a configuration per branch with the deployment target in a drop down?
Or a configuration per deployment target with a branch drop down?
I'm not sure if either will give us the ability to see what changes went to what target.
Has anyone else got a similar process and have an elegant solution?
Message was edited (fix formatting) by: Mark Walker