Returning Values From An AgentScope

Introduction While Team Build will serialize workflow variables into an AgentScope, if they are updated within the AgentScope the updated values will not be serialized back when the AgentScope completes. To achieve this you need to attach the data you want to return to the IBuildDetail instance using information nodes. There are three steps to…


Team Foundation Build Activities Documentation Now Available

The TFS technical writers have been busy putting together documentation about the activities that ship with Team Foundation Build 2010 and this is now available: On this page you’ll find both a goal-oriented listing (i.e. Get the values of environment variables) as well as an alphabetical reference by activity name. You can provide feedback…


VS/TFS 2010 SP1 Beta

The VS/TFS 2010 SP1 Beta has been released! Brian has details on his blog but I wanted to draw attention to the Team Build fixes in this service pack, what’s great is that some of these fixes directly resulted from our dogfooding: Build Automation Cannot delete build drops if a controller goes down Summary View:…


Dogfooding Team Foundation Build: Infrastructure

One of the questions I received about my last post was: Why so many controllers? Which leads nicely into a description of the different pieces of hardware involved in our build process. All of our build infrastructure runs Windows Server 2008 R2 (x64). When a build is queued using Team Build it’s queued against a…


Dogfooding Team Foundation Build: By The Numbers

In the spirit of GrantH’s and BHarry’s posts outlining various dogfooding statistics it seems fitting to start my blog post series with some Team Foundation Build specific statistics. To put these numbers in perspective our first end-to-end build completed on July 21st 2010. We currently have 38 controllers, 14 of these are owned by the…


Dogfooding Team Foundation Build in Developer Division

My blog has been idle for some time because of two projects that have been keeping me very busy over the past few months. Firstly, I’ve been working on the second edition of Inside the Microsoft Build Engine: Using MSBuild and Team Foundation Build which has been updated for .NET Framework 4.0 and Visual Studio…


Deserializing Process Parameters

Team Foundation Build 2010 allows each build process template to expose its own parameters to the build definition editor as well as to the person queuing the build. When using the API it can be confusing to see that these parameters are stored as a string on the IBuildDefinition interface rather than a dictionary or…


Help! I’ve created a custom XAML workflow activity and now I don’t see the Team Foundation Build activities in the toolbox

One of the first things you’ll notice when you create a custom XAML workflow activity to use in Team Foundation Build is that all of the Team Foundation Build activities disappear from the toolbox. The reason for this is that when you’re editing a custom XAML workflow activity it doesn’t know that its part of…


Naming Custom Workflow Activities

Just a quick blog post to make some recommendations about how to name custom workflow activities: Use VerbNoun instead of NounVerb (e.g. CheckAvailableDiskSpace not DiskSpaceCheck). Don’t suffix with Activity (e.g. CheckAvailableDiskSpace not CheckAvailableDiskSpaceActivity).


Make Comparing Build Process Templates Easier With XamlClean 1.0

Comparing XML is troublesome at the best of times but comparing Workflow Foundation XAML files is even harder because they contain both logic and designer markup. The designer markup stores information such as the expanded/collapsed state of each workflow activity, its size, and physical location on disk and has no effect on the resulting workflow…