Buildbot Setup for MacOSX

Setting up a Buildbot slave on Mac OS X

Install buildbot-slave using macports or buildbot from fink (if you use old version of buildbot/buildbot-slave you should use buildbot command instead of buildslave-2.6 in following instructions).

Add user buildbot:

Make sure that you do not have a buildbot user and group on your system

# Check for group with id 101
id -g -nr 101

# Check for user with id 101
id -u -nr 101

If you do not have the group and user buildbot, then create the group and the user buildbot

# Create group buildbot with group id 101
GROUP="buildbot"
dscl . create /groups/$GROUP
dscl . create /groups/$GROUP name $GROUP
dscl . create /groups/$GROUP passwd "*"
dscl . create /groups/$GROUP gid 101

# Create user buildbot with id 101
BUILDSLAVE_HOME=/var/lib/buildslave
USER=buildbot
mkdir -p $BUILDSLAVE_HOME
dscl . -create /Users/$USER
dscl . -create /Users/$USER RealName "Buildbot slave"
dscl . -create /Users/$USER NFSHomeDirectory $BUILDSLAVE_HOME
dscl . -create /Users/$USER UserShell /bin/bash
dscl . -create /Users/$USER UniqueID 101
dscl . -create /Users/$USER PrimaryGroupID 101
chown 101:101 $BUILDSLAVE_HOME

To hide the user use:

Prepare environment:

Buildbot can be started/stopped manually with these commands (it's a good idea to start and stop it to see if it is set up correctly):

If you installed buildbot from fink, please make sure that the buildbot user is using the environment settings. Your .profile should contain follwing line:

In order to make buildbot start on system boot, you'll need to create /Library/LaunchDaemons/net.sourceforge.buildbot.plist file with the following contents (modified example from buildbot wiki):

If you installed buildbot from fink, then you can edit and copy the plist file

Your plist file should similar to this one after editing:

Note: you have to start your buildslave via launchd, otherwise you will run into several problems. For further details, please refer to Using Launchd

This page is licensed: CC BY-SA / Gnu FDL

Last updated

Was this helpful?