This post is a follow-up to my last post in which I spoke about the software that I use to build software. In this post, I want to talk about some of the hardware and operating system infrastructure that I have in place and the roll it performs.
As I said in my last post, I do not like to do work that could be automated. A large part of the work that should be automated is the work around the build process. More than anything else, successful software development depends on being able to produce a repeatable build process where the code that is built is thoroughly tested, installed and verified before it is considered stable. To get to the point of understanding how this all works, the hardware and network infrastructure is pretty important. So that’s where I am going to start. [...]