Groundwork, Phase 1: A Quality Local Network
Note from future self; Although this setup guide is now superseded by cloud-based tools, certain elements are still useful simply as good practice, such as the "groundwork" in the early stages of this guide. As such, this article has been spared the chop
OK, so for the next I-don't-know-how-long I'm going to devote this blog to a comprehensive step-by-step guide to setting up an absolutely rock-solid Continuous-Integration/Continuous Delivery-style build server.
Fundamentally it'll be based around the latest release of Ubuntu Server, but there are a number of steps that we need to address before we even introduce an ISO to a CD-ROM.
Possibly the dullest, but most potentially useful is Getting Our Local Network Sorted Out. What do I mean by that?
- Working out a sensible IP addressing scheme
- Maintaining a comprehensible naming convention for machines
- Dedicating an (almost-)always-on box to do DNS lookups and DHCP handouts
- Having as few statically-addressed machines as feasible
- Keeping DHCP clients on as stable an IP address as possible
- Having good bandwidth where it's needed
- Using the simplest-possible network infrastructure
- Offering simple options for both backed-up and transient file storage
You might be surprised how many "proper" system-administered networks fail on at least one of these hurdles; so while we wait patiently for the Natty Narwhal I'm going to take the next few weeks to go through them.