views:

69

answers:

1

I have build scripts that builds, test, version and packages my projects as artifacts to a staging area for each of our environments ready for a versioned release to a given environment (and labels the changeset). I want to stop doing this automatically and only deploy on demand.

My problem is I am using TFS and the friction is just immense. I basically want to have an easy way to Get a specific version from source control build it for a specific enviroment -DONE deploy it. -DONE

The last 2 steps are trival. The "getting by label" it not that much fun with TFS.

Any ideas/pointers other than use stop using TFS?

A: 

Hi Rhys - just ask on twitter next time :-)

Seriously though, have a look at TFS Deployer on codeplex. The way it works is that you do a normal build with versioning of the output like you normally would, but you pull out all the deployment stuff from it.

Next, setup TFS Deployer - it listens for changes in the Build Quality and the fires off a powershell script that you write that does all the deployment work. For example, when you change the quality of a build to something like "deploy to UAT" it can fire off a powershell script that then does whatever you need it to. To do a deploy you just go to build explorer, set the quality to whatever you want and let powershell do the rest - you'll get an email of the results as well so you know if it works or fails.

Go have a look at it and if you get stuck just ping me and I'll help you out.

Richard Banks
i heart you! cheers :)this will keep me occupied for next week no doubt
RhysC