With Release Management Server and Client installed and Release Management Agent installed on a test lab you are ready to go. Let’s look at an example.I’m going to have two cheap and cheerful components; Bye and Hello. Eventually it will be useful to see what happens with more than one component; I’ll start this specific blog with just one though. Both these components produce an executable which is then packaged using WIX into an MSI. The objective is to make a change to any component and have the result installed automatically onto a test lab VM. Here are the two components in TFS source control. It makes good sense to keep components under a single folder; $/Team1/Src in this particular case. This folder could end up containing 100’s of components. While on the subject of folders there is a path name length limit of 256 characters; so keep folder and file names short.

For each component there will be a build definition. Note that they will all use the same build template though. The build definition I created for Bye is ByeX. I’ve highlighted the settings used in ByeX. The template is ReleaseTfvcTemplate.12.xaml. The “Source Settings” are scoped to the source code; a change made to the code for Bye will trigger a build and then a deploy via Release Management.

Build Definition ByeX looks as follows:

Release Management setup to deploy the result of ByeX looks as follows:

So let’s see it working end to end. Currently on lab VolcanicLab-1. Bye is orange yellow.

This matches the source code. Let’s change orange yellow to blue green and check in the change.

Checking in the change will trigger a CI build of the build definition ByeX. Which will result in the production of a new executable of Bye coloured blue/green. WIX will pack the executable into a new Bye.msi installer.

If all goes to plan the result of the code change will end up installed on VolcanicLab-1.

And of course this is logged in Release Management.

So we have crossed the chasm with check-in through to a lab box automatically updated using Release Management.