Differences

This shows you the differences between two versions of the page.

Link to this comparison view

soc:2009:dverkamp:notes:buildbot [2009/06/02 09:30] (current)
drv created
Line 1: Line 1:
 +====== BuildBot setup notes ======
 +
 +I am currently using a Debian stable (5.01) system, but this should work similarly on other distributions or with BuildBot installed from source.
 +
 +  $ sudo aptitude install buildbot
 +
 +edit /​etc/​default/​buildbot:​
 +
 +  BB_NUMBER[0]=0 ​                 # index for the other values; negative disables the bot
 +  BB_NAME[0]="​foo" ​               # short name printed on startup / stop
 +  BB_USER[0]="​buildbot" ​          # user to run as
 +  BB_BASEDIR[0]="/​var/​lib/​buildmaster" ​           # basedir argument to buildbot (absolute path)
 +  BB_OPTIONS[0]="" ​               # buildbot options
 +  BB_PREFIXCMD[0]="" ​             # prefix command, i.e. nice, linux32, dchroot
 +  ​
 +  BB_NUMBER[1]=1
 +  BB_NAME[1]="​bar"​
 +  BB_USER[1]="​buildbot"​
 +  BB_BASEDIR[1]="/​var/​lib/​buildslave"​
 +  BB_OPTIONS[1]=""​
 +  BB_PREFIXCMD[1]=""​
 +
 +  $ sudo buildbot create-master /​var/​lib/​buildmaster
 +
 +  $ sudo cp /​var/​lib/​buildmaster/​master.cfg.sample /​var/​lib/​buildmaster/​master.cfg
 +
 +edit /​var/​lib/​buildmaster/​master.cfg:​
 +
 +change the Builders code to:
 +
 +  repourl = "​git://​git.etherboot.org/​scm/​gpxe.git"​
 +  branch = "​master"​
 +  ​
 +  from buildbot.process import factory
 +  from buildbot.steps.source import Git
 +  from buildbot.steps.shell import Compile
 +  f1 = factory.BuildFactory()
 +  f1.addStep(Git(repourl=repourl,​ branch=branch))
 +  f1.addStep(Compile(command=["​make",​ "​-C",​ "​src"​]))
 +
 +change the owner of these files to the one the Debian init scripts expect:
 +
 +  $ sudo chown -R buildbot /​var/​lib/​buildmaster
 +
 +configure a slave:
 +
 +  $ sudo buildbot create-slave /​var/​lib/​buildslave localhost:​9989 bot1name bot1passwd
 +  $ sudo chown -R buildbot /​var/​lib/​buildslave
 +
 +start the master and slave:
 +
 +  $ sudo /​etc/​init.d/​buildbot start
 +
 +At this point, the web interface (port 8010 by default) should be accessible on the master.
 +
 +To force a test build, try something like:
 +
 +  $ sudo buildbot sendchange --master localhost:​9989 --username change --revision 92a9978b4403628345ca03ba4edc7641352460fa --comments "Test change #3" COPYING
 +
 +(COPYING is there since some file is needed or else no build will happen; in a real setup, sendchange would be called by a git commit hook or a cron job with actual commit information.)
  

QR Code
QR Code soc:2009:dverkamp:notes:buildbot (generated for current page)