Yesterday I carried out the upgrade of a Debian host from Squeeze to Wheezy for a friend. I like doing odd-jobs like this as they're generally painless, and when there are problems it is a fun learning experience.
I accidentally forgot to check on the status of the MySQL server on that particular host, which was a little embarassing, but later put together a reasonably thorough serverspec recipe to describe how the machine should be setup, which will avoid that problem in the future - Introduction/tutorial here.
The more I use serverspec the more I like it. My own personal servers have good rules now:
shelob ~/Repos/git.steve.org.uk/server/testing $ make .. Finished in 1 minute 6.53 seconds 362 examples, 0 failures
Slow, but comprehensive.
In other news I've now migrated every single one of my personal mercurial repositories over to git. I didn't have a particular reason for doing that, but I've started using git more and more for collaboration with others and using two systems felt like an annoyance.
That means I no longer have to host two different kinds of repositories, and I can use the excellent gitbucket software on my git repository host.
Needless to say I wrote a policy for this host too:
# # The host should be wheezy. # describe command("lsb_release -d") do its(:stdout) { should match /wheezy/ } end # # Our gitbucket instance should be running, under runit. # describe supervise('gitbucket') do its(:status) { should eq 'run' } end # # nginx will proxy to our back-end # describe service('nginx') do it { should be_enabled } it { should be_running } end describe port(80) do it { should be_listening } end # # Host should resolve # describe host("git.steve.org.uk" ) do it { should be_resolvable.by('dns') } end
Simple stuff, but being able to trigger all these kind of tests, on all my hosts, with one command, is very reassuring.
Tags: git, github, serverspec 1 comment
Interesting this Serverspec. The fact it's ruby kind of puts me off a bit.