Build orchestration

We use Bitten as our build orchestration and continous integration system. Bitten consists of a master and a slave tool and a administration interface through a plugin to Trac.

Bitten will run against a range of targets already setup in our Build system and try to run the build for each revision. If you are connected to Bitten Master with a target platform that is missing builds it will try to fill holes in the series of builds. If you connect from a platform that don't fit what the Bitten Master is configured for it will just reject the build. If you have access it's also possible to invalidate builds that for some reason went wrong because of your setup.

Installation

Here's the short version of the Bitten Installation Guide.

Download Bitten version 0.5.2 - http://prdownloads.sourceforge.net/bitten/Bitten-0.5.2.tar.gz

Note: You need setuptools >= 0.6a2

$ sudo python setup.py install

Slave Configuration

Have a look at the Build Status to see what target platform are missing builds. Additional information about software packages and versions is done through a simple INI-file called bitten.ini. Add something like the following to that file:

[php]
version = 5.x.y

Running Build Slave

You run the build slave from the command line with this command within trunk.

$ build-slave --config=bitten.ini www.pradosoft.com

Troubleshooting

If you experience problems you can add try to run the slave in verbose and debug mode.

$ bitten-slave --debug --verbose