to obtain release notes. Slow or congested LAN may significantly increase build roundtrip time if the size of the code base is significant (hundreds of megabytes). Ideally, the build server should be connected to the same network switch as the version control server is.
Avoiding Common Mistakes
Selecting Underpowered Hardware
Selecting a poorly performing build box causes slow builds and delays the delivery of the information about the latest state of the code base. Such delays negatively impact productivity of a software team because broken builds are not fixed quickly. To avoid this, the build server should run on adequate hardware.
Collocating Build Server with Other ALM Servers
Builds run by the build server consume a considerable amount of CPU power and disk IO. Memory consumption is also very high, especially when a build server is running many automatic builds. Collocation of the build server with a version control or an issue tracking system unavoidably causes degradation of the response times of the collocated servers as they compete for limited hardware resource. While a collocating server may provide certain financial savings (one computer is needed instead of two), these savings cannot justify losses caused by the slowness of the collocated servers. Do not mix a build server with other servers on the same hardware.
Selecting hardware that is not going to be used is a waste of money. There is no point to have 12 CPU 36Gb RAM server to run 8 builds that combined need just 2Gb of RAM. Don't overspend. Build server's hardware should be adequate but not oversized.
To support efficient software development process, a software build management server requires well-performing hardware. Build server capacity planning allows selecting the hardware adequate to server's tasks while staying on budget.
Slava Imeshev is president of Viewtier Systems, Inc. http://www.viewtier.com , makers of software build management server Parabuild. Slava has been developing software for 16 years.
You can reach Slava at firstname.lastname@example.org