Anton Lindstrom (about, @twitter, @github)

Building for repeatability

Published:

When building or configuring something I am always thinking about whether it is possible to repeat the process of installing this in a large scale. Do I remember each step? Is it possible to do all the steps created in an easier way?

Configuration management like Puppet or Chef are ways to cope with this. But there are also ways to do this without having a fully automated environment. When I install and setup my main computer I use git to get settings and dot files I have.

Another really smart thing to create an easy setup on Mac is the Mac App Store, this ensures that favorite applications are stored in one place and if moving to another computer this will make it easier to just fire the application up and download and install the software you bought and chosen.

If using repeatability it is also easy to get the state of a computer without any hassle when a crash should occur (provided that you have backup of those dot files in another location).