Personal tools
You are here: Home / cmgui / Wiki / Buildbot
Navigation
Log in


Forgot your password?
 

Buildbot

We are using Buildbot to automate the building and testing of Cmgui. This page details the process of how and where Buildbot is setup.

Buildbot Master

We have setup a Cmgui Buildbot master on bioeng1030. This machine is an Ubuntu 10.04 and exists solely for the purpose of running Buildbot masters. At the current time we are running individual Buildbot masters for each project (Cmgui, CellML, OpenCMISS).

Setting up a Buildbot master is a relatively straight forward process, first install it:

sudo apt-get install buildbot

next we need to create a Buildbot master and configure it, creation is easy configuration is a little bit more involved:

buildbot create-master bbmaster_cmgui

The configuration script and information can be found here-ish -> https://tracker.physiomeproject.org/show_bug.cgi?id=2974. The configuration has copius comments on the how, why and wherefore. After configuring the Buildbot master you can issue a helpful commands to see if you have any problems:

buildbot checkconfig bbmaster_cmgui

To get things going we need to start the Buildbot master:

buildbot start bbmaster_cmgui

You can make changes to the configuration and get the build master to reconfigure itself with the following command:

buildbot reconfig bbmaster_cmgui

We are all done. If you go and have a look at http://bioeng1030:8269 you should see some Buildbot info and be able to look at how the building and testing is going.

To truly be a master you need some slaves. The next sections discuss setting up Buildbot slaves on various platforms.

GNU/Linux Buildbot Slave

Setting up a GNU/Linux Buildbot slave is ridiculously easy:

buildbot create-slave bbslave_cmgui bioeng1030:9269 <NAME> <PASSWORD>
buildbot start bbslave_cmgui

So the 'NAME' and 'PASSWORD' as seen above are set for each particular machine these you get to choose for yourself, but it does work best if they match what the Buildbot master you are intending on connecting to is expecting.

Windows Buildbot Slave

Setting up a Windows slave was not so easy for me. But I managed it and the following is the process I went through to get it to work for me.

First we will gather and install the required software (I didn't do it in this order I spent loads of time hunting and trying to understand the windows install notes).

After installing Python 2.7 I added:

C:\Python27;C:\Python27\scripts;

to my system environment PATH variable. Five of the required dependencies are Windows installers and are pretty easy to deal with, I'll leave that to the user. For the remaining two I did the following. Oh, as a note I already have 7zip installed for all my compression/decompression needs.

For zope.interface

  • Uncompress zope.interface using 7zip
  • Open a command window and change into the zope.interface directory
  • Run the following commands:
python setup.py build
python setup.py install

For buildbotslave

  • Uncompress buildbotslave using 7zip
  • Change directory into the uncompressed buildbotslave directory
  • Run the following commands:
python setup.py build
python setup.py install

You can of course skip the middle man for both of these and just run:

python setup.py install

Now all that is left to do is to create the slave and start it off:

buildslave create-slave bbslave_cmgui bioeng1030:9269 <NAME> <PASSWORD>
buildslave start bbslave_cmgui

Again the 'NAME' and 'PASSWORD' as seen above are set for each particular machine these you get to choose for yourself, but it does work best if they match what the Buildbot master you are intending on connecting to is expecting.