views:

206

answers:

1

I have a number of webservices and clients (click-once deployment) that I am wondering how to deploy efficiently. We have a QA department that reviews and tests releases as well as an operations group that currently does the 'deployment' which basically consists of copying tested releases from QA boxes to Prod boxes. The process is quite error prone as config files are not copied correctly and feedback on if/when/how deployment was done is not being given and therefore I consider this method of deploying a not-so-best-practice method.

We are using a build machine for doing our builds and I don't want to use publish from my dev machine.

I have been wondering if scripted deployment is anything I should look into and if there are any standard ways of doing this. I have experimented a little with TFSDeployer which is a utility that lives on boxes to be deployed to and pick up events from team foundation server that can be then be acted upon via powershell scripts. I can see something like that working on dev/test machines but for production servers I don't know.

How do you deploy your webservices/clients?

+1  A: 

I use TFSDeployer for the push to production as well, as you can set TFSDeployer up to push so you don't have to install it on the production boxes (it just means that you need to configure permissions for you build account/machine to access production).

One useful tip is to restrict permissions on who can change build qualities and only allow the push to production script to fire once the build quality is at the UAT passed level (or whatever the equivalent is for your organistion).

Richard Banks
Do you have several instances of tfs deployer up and running or do you use the same technique for pushing to staging/uat?
Fadeproof