Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles / All-Topics

Buildbot Part I - Setting Up

0.00/5 (No votes)
2 Aug 2012CPOL1 min read 10.1K  
Buildbot a Python-based continuous integration system

This article appears in the Third Party Products and Tools section. Articles in this section are for the members only and must not be used to promote or advertise products in any way, shape or form. Please report any spam or advertising.

Buildbot is a Python-based continuous integration system that consists of a buildmaster and one or more buildslaves, you can check it out on github.

The buildmaster decides what, when and how the system is build, it has a configuration file called master.cfg where the build process is defined. On the other hand, the buildslaves handle the execution of the commands and return results to the master.

The following is a graph (from buildbot’s wiki) which shows buildbot architecture supported repositories and notifiers.

buildbot

Setting Up

To setup on windows, the master and slaves require:

Additionally, master requires:

Install buildbotmaster (http://buildbot.googlecode.com/files/buildbot-0.8.6p1.tar.gz) and buildbotslave (http://buildbot.googlecode.com/files/buildbot-slave-0.8.6p1.tar.gz)

For this example, I installed both on the same machine. If the installation went ok, you should be able to check their versions:

buildbotsetup

The following steps create and start the master and slave:

Create BuildbotMaster

C:\Python27\Scripts>buildbot create-master -r C:\BuildMaster

Create BuildbotSlave

C:\Python27\Scripts>buildslave create-slave C:\BuildSlave localhost:9989 BuildSlave01 mysecretpwd

Start BuildbotMaster

C:\Python27\Scripts>buildbot start c:\BuildMaster

Start BuildbotSlave

C:\Python27\Scripts>buildslave start c:\BuildSlave

if everything went fine, you should see a page like the following:

buildbotpage

You can check for errors on C:\BuildMaster\twistd.log and C:\BuildSlave\twistd.log.

Who is using buildbot: Python, Mozilla, Google Chromium and others. The following shows Python 2.7 waterfall page:

PythonBuildbot

On my next post, I’ll show you how to run automated builds and tests for a .NET application hosted on git/codeplex using buildbot.

Image 6
Image 7

Image 8

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)