Search code examples
tfstfsbuildparallel-builds

How can I parallelize my builds across build agents?


I am currently running builds for 15 SKU's of the same product. In serial a full build of all SKU's takes just under three hours.

I have the resources to create a build farm that can handle the load of 1 build requiring 15 build agents and would like to make use of that fact.

I have used a TFS build template I found online a few years ago on TFS2010, I continued to use it on TFS2012 after I upgraded the template. Unfortunately that template won't easily be upgraded to work in TFS2013, and since it had shortcomings I would like to get a new template to start afresh in the new 2013 world. (Shortcomings it had were in terms of concurrent processing on singular tasks: labelling, associating work items with build numbers, private builds containing locked files.)

Since I've not found anything online yet, I am probably going to create my own parallel build template. Before I get too far in creating my own TFS parallel build template for TFS2013, I have to ask if there is a solution for this already available that I haven't yet stumbled across?

(I've done research here on SO and found many posts on the subject, but nothing with a full solution provided for a parallelized template that works in VS2013)

edit: add link to source of parallel build template found for TFS2010


Solution

  • There is. No out of box solution.

    You are following the correct path with creating your own parallel wrapper. Microsoft themselves build every SKU of every part of Visual Studio & TFS when they do nightly builds and have heavily parallelised their build process to speed it up. This is however custom to them as every product builds differently.

    Good luck.