I did a lot of research on this, but could not find a solution at the end to implement “build once and deploy many” using TFS 2010.
Basically, I think this is an assembly definition that will build a solution with several projects to be deployed (web application + database project + web services + reports), put the output in the drag and drop folder and from there based on quality and version manually decide to deploy all projects in different environments (qa, ua, staging, production).
I know that I can change the build process template to deploy several projects right after build, something like “Build Main and Deploy to QA”, “Build Main and Deploy to UA”, etc., based on probably on changeet # or labels, but that means you need to build it every time. What I would like is more like a dashboard that will allow the deployment team to deploy the exact assembly that was tested in QA, in the UA environment and after receiving green light for its deployment in production. Of course, this means that configuration files must be updated accordingly during deployment.
I am also considering the possibility of defining definitions of constructions that will not actually build anything, instead he will deploy the existing assembly (based on the version) in a specific environment, but it looks a little strange, to say the least.
source share