Recommended specification for build server

We use CruiseControl.NET to manage our builds, and we are in the process of getting a new build server. I was instructed to come up with a specification for the new server.

This server should run several assemblies simultaneously and as efficiently as possible.

What do you think is the ideal specification for this server?

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

Edit: will RAID be useful at all? (Bonus Points)

+1
source share
3 answers

I would also like to point out that all of the above recommendations depend on what you use to compile. For example, if you use the VisualStudio command line, you will be very sad when you try to execute parallel assemblies. Also, how many assemblies will continue if they are parallel. Most people try to build build servers too much, the processor is rarely a bottleneck. Disk I / O is usually the culprit. Do you also need to analyze how much of your assembly can work in parallel, or are these heavy dependency assembly projects in the order type? As a rule, you should have an equipment specialist who analyzes the current assembly (assembly), and they can make recommendations on them. We actually use servers of virtualized buildings (6), all of which work on the same quad core with 4 GB of RAM, and it works almost as fast as when each of them works directly on the server. So we got our parallelism.

+1
source

Basically, you are looking for the same thing you were looking for on a developer's machine:

  • How much RAM you can afford (remember that you need to work with a 64-bit OS to use more than 3gig).
  • The fastest drives you can afford
  • As many cores as you can afford

If you use MSBUILD and don’t do too many parallel builds, I would recommend using the parallel build switch ( http://www.hanselman.com/blog/FasterBuildsWithMSBuildUsingParallelBuildsAndMulticoreCPUs.aspx ). With parallel assemblies, it is probably best to have built-in assemblies for a single process (and kernel).

+1
source

Make sure the specification includes a multi-core processor and fast hard drives (10,000 rpm).

0
source

All Articles