I have a Configuration which gets the latest source from a particular branch (say my V1.1 Branch), builds it with MSBuild and deploys the package using Web Deploy to my testing environment. TeamCity then creates a tag in SVN for this build.
Let's say then this deployment passes testing and I want to deploy the same code to my live environment. I can create another Configuration alongside my 'Build and deploy to Test' that is identical except MSBuild is passed a different server path to deploy elsewhere and the VCS root has different labelling rules so tags are created in /reporoot/project/tags/Live.
I then need a way to ensure this configuration always builds the same source that my deploy to test Configuration built. Woudn't this be a 'Checkout Rule' in my VCS settings? I know you can set up snapshot dependencies but that triggers one Configuration from another doesn't it? I don't want a deployment to Live to be automatically triggered in any way obviously.
I thought the 'Deploy to Live' configuration could just publish the 'Deploy to Test' artefact i.e the Web Deploy output package but this won't work as the package needs to be created with different MSBuild options for the purpose of config file transformations between live/test so I may as well just build from scratch again.