Parallel builds of solutions within one Team Project

Grant Holliday’s blog

Senior Service Engineer, Microsoft Visual Studio Team Foundation Service

Parallel builds of solutions within one Team Project

  • Comments 4

 

With Visual Studio Team Build 2008 there is no way to run two builds from within the same Team Project at the same time, although two builds in different Team Projects can run in parallel.

Update: I got a few questions about this above statement and I'd like to clarify it since it is a little ambiguous.

  • You cannot configure a single build agent to build more than one definition per team project in parallel in TFS 2008
  • You can have two build agents building a definition each from the same team project

Just like with Team Build 2005 you can run builds in parallel if they are from different team projects.

This is often confused with a MSBuild 3.5 feature called “parallel builds”. This allows you to make better use of multi-processor/core machines, as MSBuild can scale-out across the available processing power.

Each MSBuild process (including the main or parent process started from command line) contains a component called the node. Projects are processed and built by the node component. Thus using “maxcpucount” of 2 will result in 2 MSBuild processes. If your projects have dependencies on other projects that are being built in parallel, then you will need to set appropriate project to project references so that dependent projects get built first.

Aaron Hallberg describes how Team Build is able to make use of the parallel builds feature, but it still doesn’t remove the limitation of one running build per team project.

Manage Build Agents dialog from TFS2008

Another common question is: What is the purpose of team Build Agents if you cannot use them to transparently scale out?

Obviously this is one of the goals for the future but there wasn’t enough time to get it into TFS2008.

The current April CTP of Rosario has the build controller / agent functionality implemented. When you queue a build, you queue it against a controller which manages a pool of agents. Take a look at Willy-Peter’s Team Build blog post on the Rosario April CTP for more information.

  • Grant -  Can you explain this sentence more, "Team Build 2008 there is no way to run two builds from within the same Team Project at the same time"?

    If I have 2 buildtypes under 1 Team Project and 2 build agents I can not run these in parallel?  

    Cheers

  • Grant Holliday, an MVP from Australia, recently joined Microsoft's VSTS team and has moved to Redmond.

  • Hi.

    I have one TFS 2008 RTM server, one Team Project, several build types, and three build agents.

    I have three different build types building on each of the separate build agents simultaneously.

    Can you confirm your statement in the first sentence of your post?

    Regards,

  • TeamBuild can build one build definition from a single Team Project at a time. can run multiple build

Page 1 of 1 (4 items)