TFS Rosario - Team Build uses Windows Workflow

April 15, 2008 at 6:14 pm | In TFS Rosario |

In addition to the Source Control Explorer improvements, the April 2008 Rosario CTP includes new Team Foundation Build functionality:

A new automated build system built on Windows Workflow Foundation, featuring dynamic build machine allocation from a machine pool and distributed build functionality.

The first thing you’ll notice when creating a New Build Definition.. is the new term of a “Build Controller”:

In Rosario, Team Build uses an agent/controller architecture where the controller is responsible for managing a pool of agents. By selecting which controller your build will run on, you are selecting the pool of build machines where the build will run. Additionally, the workflow that comprises your build process will run on both the controller and the agent with coordination activities occurring on the controller and the bulk of the processing occurring on the agent.

 TFS Rosario - Manage Build Controllers dialog with tags

One of the things you’ll notice on this dialog is the notion of “Tags”. Tags let you define metadata for a build controller/agent. Then you can target your builds at agents/controllers that have a specified tag.

 TFS Rosario - Build controller properties

One of the tricky things to do in previous versions of Team Build is to manage the custom MSBuild task assemblies that are required for your build server. It can be quite tricky (and manual) to ensure all your build servers have the correct version of your custom tasks. One of the ways people have been doing this is to check-in the assembly to source control. e.g. $/TeamProject/TeamBuildTypes/MyBuild/MyMSBuildTasks.dll, then refer to them from TFSBuild.proj using a relative path.

From the above dialog it looks like (I haven’t tested it yet) Rosario allows you store custom assemblies in a common location in source control and it will handle all the magic for us.

TFS Rosario - Windows Workflow build definition 

The most significant Team Build change for users in Rosario would have to be the introduction of Windows Workflow for the Team Build logic. From this dialog it looks like every single target/task is a WF Activity. This opens up some interesting opportunities and I’ll have to dig deeper into it soon and work out how it works :) If anything, I’ll have to start thinking about how to host custom activities on my Team Build scripts site - TFSBuild.com.

4 Comments »

RSS feed for comments on this post. TrackBack URI

  1. I’m disappointed they didn’t go the whole way and use BizTalk. Then my build system could be an orchestration, and if I ever wanted to use a different compiler, it would just be a BizTalk Adapter away…

    Comment by Paul Stovell — April 16, 2008 #

  2. [...] TFS Rosario - Team Build uses Windows Workflow « Grant Holliday [...]

    Pingback by TFS Rosario - Team Build uses Windows Workflow « Grant Holliday « Noocyte’s Weblog — April 22, 2008 #

  3. [...] add validation In my recent series of TFS Rosario blog posts, I’ve been looking at all the new features that are available in the April CTP of Visual Studio Team System Codename [...]

    Pingback by TFS Rosario - Automate a manual test & add validation « Grant Holliday — April 22, 2008 #

  4. It’s good to see that they are making a concerted effort in Rosario to enhance UI support for Team Build. MSBuild is powerful, but isn’t half as easy to use as Final Builder or Visual Build Pro.

    Comment by Rob — October 1, 2008 #

Leave a comment

XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Blog at WordPress.com. | Theme: Pool by Borja Fernandez.
Entries and comments feeds.