Question

We're using CruiseControl.NET to manage our builds and we're in the process of obtaining a new build server. I've been tasked with coming up with the spec for the new server.

This server will need to run multiple builds concurrently and as effeciently as possible.

What would you consider the ideal spec for this server?

Any links to existing articles / blogs dealing with this topic will also be welcome!

Edit: Will RAID be helpful at all? (Bonus points)

Was it helpful?

Solution

I would also point out that all of the above recommendations depend on what you are using to compile. If you are using the VisualStudio command line for instance, you will be very sad the first time you try concurrent builds. Also how many builds will be going on, if they are concurrent. Most people try beefing up build servers way too much, Processor is rarely the bottleneck. Disk I/O is usually the culprit. You also need to analyze how much of your build can run in parallel, or is a dependency heavy build projects in order type? Typically you should have an hardware specialist analyze a current build (builds) and they can ussualy make recommendations on them. We actually use virtualized build servers (6) all running on a single quad core with 4 GB of RAM and it works nearly as fast as when they each ran straight on the server. That is how we obtained our parallelism.

OTHER TIPS

Basically, you're looking for the same things you'd look for in a developer machine:

  1. As much RAM as you can afford (remember you need to be running a 64-bit OS to take advantage of more than 3gig)
  2. The fastest disks you can afford
  3. As many cores as you can afford

If you're using MSBUILD and not doing too many concurrent builds, i'd recommend using the parallel build switch (http://www.hanselman.com/blog/FasterBuildsWithMSBuildUsingParallelBuildsAndMulticoreCPUs.aspx). With concurrent builds, it's probably better to have the builds stick to a single process (and core).

Make sure the spec includes a multi-core processor, and fast HDDs (10000RPM).

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top