Personal tools
The Open Lighting Project has moved!

We've launched our new site at www.openlighting.org. This wiki will remain and be updated with more technical information.

Difference between revisions of "OLA Buildbot"

From wiki.openlighting.org

Jump to: navigation, search
m (Slave Configuration: Diagnosis)
m (Slave Configuration: Correct minor issue)
Line 28: Line 28:
 
Update the slave info, edit the files in /var/lib/buildbot/slaves/<slave name>/info to be relevant to you.
 
Update the slave info, edit the files in /var/lib/buildbot/slaves/<slave name>/info to be relevant to you.
  
Add config for the slave into /etc/default/buildslave, e.g.:
+
Add config for the slave into /etc/default/buildslave (you'll need to increase the array id if you've got more than one slave on the same host), e.g.:
 
  SLAVE_ENABLED[1]=1                    # 1-enabled, 0-disabled
 
  SLAVE_ENABLED[1]=1                    # 1-enabled, 0-disabled
  SLAVE_NAME[1]="ola-pi-armv6l-noopenslp-1"        # short name printed on start/stop
+
  SLAVE_NAME[1]="<slave name>"        # short name printed on start/stop
 
  SLAVE_USER[1]="buildbot"              # user to run slave as
 
  SLAVE_USER[1]="buildbot"              # user to run slave as
 
  SLAVE_BASEDIR[1]="/var/lib/buildbot/slaves/<slave name>"                  # basedir to slave (absolute path)
 
  SLAVE_BASEDIR[1]="/var/lib/buildbot/slaves/<slave name>"                  # basedir to slave (absolute path)

Revision as of 12:02, 28 April 2013

We run a Buildbot instance for OLA.

We're currently only building ola, but this could be extended to do other projects such as the QT GUI etc.

Master Configuration

The buildbot master configuration is stored in git at https://code.google.com/p/open-lighting/source/browse?repo=buildbot-config . It needs checking out, and symlinking to replace master.cfg in the buildbot master's config directory.

Slave passwords aren't stored in the git repo for security, you'll need to get Simon to add new ones.

N.B. If the git repository is ever moved or changed, ensure the master's gitpoller-workdir folder is emptied out, or the poller won't work properly.

Slave Configuration

Documentation is at http://docs.buildbot.net/current/manual/installation.html#creating-a-buildslave

For our buildbot, slaves need to connect to buildbot.openlighting.org:9989

On Debian/Ubuntu, based on https://kb.askmonty.org/en/buildbot-setup-buildbot-setup-for-ubuntu-debian/, do the following: Install buildbot slave:

sudo apt-get install buildbot-slave

Create the slave:

sudo -u buildbot buildslave create-slave --usepty=0 /var/lib/buildbot/slaves/<slave name> buildbot.openlighting.org:9989 <slave user> <slave password>

Update the slave info, edit the files in /var/lib/buildbot/slaves/<slave name>/info to be relevant to you.

Add config for the slave into /etc/default/buildslave (you'll need to increase the array id if you've got more than one slave on the same host), e.g.:

SLAVE_ENABLED[1]=1                    # 1-enabled, 0-disabled
SLAVE_NAME[1]="<slave name>"         # short name printed on start/stop
SLAVE_USER[1]="buildbot"              # user to run slave as
SLAVE_BASEDIR[1]="/var/lib/buildbot/slaves/<slave name>"                   # basedir to slave (absolute path)
SLAVE_OPTIONS[1]=""                   # buildbot options
SLAVE_PREFIXCMD[1]=""                 # prefix command, i.e. nice, linux32, dchroot

Start the slave

sudo /etc/init.d/buildslave start

Check the log if there are any issues, or confirm the slave is registered at http://buildbot.openlighting.org/buildslaves:

tail -f /var/lib/buildbot/slaves/<slave name>/twistd.log