Month: May 2015

Setting up Buildbot

Buildbot is a¬† continuous integration / delivery server along the same lines as Jenkins / Hudson and Teamcity but without some of the polish of the other servers. It’s advantage is it written in Python and can be easily extended to more complex environments.

The problem with Buildbot is its dependencies as it compiles some of the sources; just running pip install will often fail. First you need to make sure the gcc development tools and associated software is installed on the server.

On the Red Hat family (CentOs, Amazon Linux) this can be achieved with the following commands

sudo yum group install "Development Tools"
sudo yum install python-devel

On the Debian family (Ubuntu) you can use the following

sudo apt-get install build-essential

The proceed to install the buildbot with pip

pip install buildbot

Once installed you need to set up a working directory and start buildbot

mkdir -p /tmp/buildbot
cd /tmp/buildbot
buildbot create-master
cp master.cfg.sample master.cfg
buildbot start

You should now be able to access the website on http://localhost:8010/ – you may need to configure the firewall to allow access from other machines.

Despite the suffix, master.cfg is just a python file that controls the build process. A fairly good overview of this file and the whole Buildbot philosophy can be found in this short tutorial.