blob: c5ed69a2da66f34e4dc5981bb52b0bc4cf924e19 [file] [log] [blame]
How to setup a buildslave?
--------------------------
1. Install Buildbot
-------------------
Buildbot is a Python application, you need to install Python 2.2+.
Download & install:
- Twisted 2.2: http://twistedmatrix.com/trac/
- ZopeInterface 3.0.1: http://www.zope.org/Products/ZopeInterface
- Buildbot 0.7.2: http://sourceforge.net/project/showfiles.php?group_id=73177
The Buildbot installer creates a buildbot script in /usr/bin. On Windows,
buildbot.bat is installed in the %PYTHON\Scripts folder.
Test your buildbot install by running the buildbot script.
2. Creating a buildslave
------------------------
Creating a buildslave is explained in the Buildbot manual:
http://buildbot.sourceforge.net/manual-0.7.2.html#Creating-a-buildslave
Before you can install the buildslave, you'll need some information from
the buildmaster administrator:
- your botname and password. The botname is a unique id for your buildslave.
Current botnames include the OS+version, compiler and processor architecture.
(eg. osx10.4-gcc4.0.1-ia32, xp-vs2003-ia32...)
- hostname and port on which the buildmaster is listening.
- hostname and port on which the TryScheduler is listening.
- username and password for the FTP server where you can send the test log-
files.
The buildmaster administrator for http://www.mobsol.be/buildbot/ can be
reached at lgo@mobsol.be.
Make sure you fill in the info/host file with some information concerning your
buildslave.
3. Setting up the buildslave
----------------------------
A build on a slave is always triggered and managed by the Buildmaster. In fact,
by connecting to the buildmaster, the slave gives full shell access on his
machine to the buildmaster! Make sure you run the slave in an account with
limited access.
The build process is split in 4 steps.
- svn checkout or update
- build
- check
- clean
The first step is handled by the buildbot code (SVNStep) and can not be
further configured on the buildslave.
For all the other steps you have to provide scripts and put them in the
slavedir/[botname] folder.
You can copy and reuse the scripts the other buildbot slave owners use for
Windows, Linux or Mac buildslaves. You can find them here:
http://svn.apache.org/repos/asf/subversion/trunk/tools/buildbot/slaves
4. Builds
---------
A build will be triggered each time someone commits changes on trunk or
branches/1.4.x. If the buildslave is not online, then the build will be
stored in the queue and started when the buildslave connects.
Normally each build only includes the changes of one commit. However, when
multiple changes arive during a previous build, those will be combined in
a next build.
The buildmaster looks at each commit and decides if they are important enough
to trigger a build. Documentation, contrib, www... changes are typically
ignored.
5. Try
------
Buildbot has a feature that allows a Subversion developer to test a patch she's
working on on one of the builders. Example, someone working on Linux might want
to test a major change first on a Windows builder before committing the patch.
It's up to you to choose whether your buildslave can accept patches or not,
there's no obligation. Basically by allowing patches to be tried on your
buildslave you give people the ability to compile and execute arbitrary code
on your machine.
Try access is password protected and will be reserved to Subversion full
committers.
How to use the try feature:
TryScheduler is installed on its own dedicated port. It can be used by
a client with 'buildbot try':
http://buildbot.sourceforge.net/manual-0.7.5.html#try
Contact the buildmaster administrator for the username & password which you
need to use 'buildbot try'.