BuildBot Configuration

This document attempts to discuss configuration details of the BuildBot system for OSGeo projects.

= About BuildBot =

The BuildBot is a system to automate the build and test cycle during a software development process.

BuildBot homepage: http://buildbot.sourceforge.net/

Thanks to Howard Butler's installation of BuildBot, we've been able to test it with some of Open Source GIS projects for a few months.

After these tests, we've found that:


 * BuildBot works very well
 * BuildBot has a very positive effect on the development of the projects
 * BuildBot an important communication channel about compilation and testing issues
 * BuildBot helps developers and users to observe a cycle of development in details
 * BuildBot decreases time needed to compile and test changes in a multiplatform environment

The main objective of this initiative is to install and configure BuildBot instances for the OSGeo projects.

Hobu's BuildBot instances

 * MapServer - http://mapserver.builds.hobu.net/
 * GDAL - http://gdal.builds.hobu.net/
 * GEOS - http://geos.builds.hobu.net/

= OSGeo BuildBot Configuration =

Following section describes details of BuildBot infrastructure configuration hosted on one of the OSGeo servers.

Server
The OSGeo BuildBot is hosted on one of the Telascience Blades:


 * Hostname: xblade14-2
 * IP:      198.202.74.219

(add / link to details about installed development software and versions)

Basic Concepts
The BuildBot system architecture is based on two base concepts:


 * buildmaster - the brain, controls single instance of BuildBot
 * buildslave - the worker, performs all builds tasks

Selected server hosts all instances of the OSGeo BuildBot infrastructure.

A single instance of BuildBot, running on the OSGeo server, consists of one buildmaster and one buildslave.

Next, developers of particular project can connect more buildslaves running on separate machines, remotely. Buildslaves are connected to the buildmaster in a star topology.

Every project gets its own instance of the OSGeo BuildBot and can connect various external buildslaves.