Contents

Hudson and Amazon EC2 - the sequel

Contents

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…