Hudson and Amazon EC2 - the sequel
A while back I talked about getting Hudson running with EC2-based
build nodes. I had some issues - some self-inflicted like forgetting to add the IP
address of the Hudson server to the appropriate EC2 Security Group to allow
access on port 22 - and some Hudson idiosyncrasies. Now, however, I’ve got
things running and am building Hudson jobs for Facter and Puppet. One of the
ironic key issues for us is that we’re testing a configuration management
system but we can’t use that system because RUBYLIB issues mean that there is
some bleed through between the installed Puppet version and the version being
tested. So instead the useful Hudson EC2 plug-in allows an init script to be
run to prep each EC2 build nodes. For each build node we run a simple set of commands
that retrieves a script designed to bootstrap the host. In our case we do: cd /tmp wget http://pelin.lovedthanlost.net/hudson/debian/ec2-explode chmod 0755 /tmp/ec2-explode /tmp/ec2-explode
The ec2-explode script installs all the
required packages and performs some needed Hudson set-up. I’ve got a bunch of
init scripts for different platforms and the EC2 plug-in automatically
installs a Java JDK after the init script is run. The build node is then ready to
run the tests. And simple…