Navigation

This tutorial will expand on the First Run tutorial by taking a
quick tour around some of the features of buildbot that are hinted at in the
comments in the sample configuration. We will simply change parts of the
default configuration and explain the activated features.

As a part of this tutorial, we will make buildbot do a few actual builds.

####### PROJECT IDENTITY# the 'title' string will appear at the top of this buildbot# installation's html.WebStatus home page (linked to the# 'titleURL') and is embedded in the title of the waterfall HTML page.c['title']="Pyflakes"c['titleURL']="http://divmod.org/trac/wiki/DivmodPyflakes"

If you want, you can change either of these links to anything you want to see what happens when you change them.
After making a change go into the terminal and type:

buildbot reconfig master

You will see a handful of lines of output from the master log, much like this:

The important lines are the ones telling you that it is loading the new
configuration at the top, and the one at the bottom saying that the update
is complete.

Now, if you go back to
the waterfall page,
you will see that the project’s name is whatever you may have changed it to and when you click on the
the URL of the project name at the bottom of the page it should take you to the link you put in the configuration.

This time, it’s clear that there was a mistake. in the configuration.
Luckily, the buildbot master will ignore the wrong configuration and keep
running with the previous configuration.

The message is clear enough, so open the configuration again, fix the error,
and reconfig the master.

Note that if you are not using 0.8.4 you might experience an error during reconfig with clean configs,
this is due tohttp://trac.buildbot.net/ticket/1757which if fixed and will be in the 0.8.4 package.
If you come across this, just do start & stop for now to get your buildbot instance updated:

Buildbot includes an IRC bot that you can tell to join a channel and control
to report on the status of buildbot.

First, start an IRC client of your choice, connect to irc.freenode.org and
join an empty channel. In this example we will use #buildbot-test, so go
join that channel. (Note: please do not join the main buildbot channel!)

Edit the config and look for the STATUS TARGETS section that you changed
before to be able to force the build.

Let’s tell the bot to notify certain events, to learn which EVENTS we can notify on do:

bbtest: help notify

Now let’s set some event notifications:

bbtest: notify on started
bbtest: notify on finished
bbtest: notify on failure

The bot should have responded to each of the commands:

<@lsblakk> bbtest: notify on started
<bbtest> The following events are being notified: ['started']
<@lsblakk> bbtest: notify on finished
<bbtest> The following events are being notified: ['started', 'finished']
<@lsblakk> bbtest: notify on failure
<bbtest> The following events are being notified: ['started', 'failure', 'finished']

Now, go back to the web interface and force another build.

Notice how the bot tells you about the start and finish of this build:

You can do some debugging by using manhole, an interactive Python shell. It
exposes full access to the buildmaster’s account (including the ability to
modify and delete files), so it should not be enabled with a weak or easily
guessable password.

To use this you will need to install an additional package or two to your virtualenv:

# make sure your sandbox is activated so this is installed in your virtualenv
pip install pycrypto
pip install pyasn1