ReferencePlatforms/BuildbotMaster

From MozillaWiki
Jump to: navigation, search

Set up a new Buildbot Master

Starting with a fresh image of the linux ref platform, the following must be done to set up a new instance of a buildbot master.

Clone Buildbotcustom

mkdir -p /tools/buildbotcustom/
cd /tools/buildbotcustom

For a staging master

hg clone http://hg.mozilla.org/build/buildbotcustom buildbotcustom-clean
ln -s buildbotcustom-clean buildbotcustom

Or a production master

hg clone http://hg.mozilla.org/build/buildbotcustom buildbotcustom

Clone Buildbotconfigs

mkdir -p /builds/buildbot
cd /builds/buildbot

For a staging master

mkdir user-configs
hg clone http://hg.mozilla.org/build/buildbot-configs user-configs/clean-configs
ln -s user-configs/clean-configs configs

Or a production master

hg clone http://hg.mozilla.org/build/buildbot-configs configs

Update Buildbot

update buildbot to the current production version

cd /tools/buildbot
hg up -r BUILDBOT_PRODUCTION
python setup.py install --prefix=/tools/buildbot

Install SQLAlchemy

# as root
cd /tools
wget http://prdownloads.sourceforge.net/sqlalchemy/SQLAlchemy-0.5.6.tar.gz
tar -xf SQLAlchemy-0.5.6.tar.gz
cd SQLAlchemy-0.5.6
python setup.py build
python setup.py install

For a Talos Master

# in each build master's directory:
hg clone http://hg.mozilla.org/build/tools

Other changes

There are some slave-specific things that can also be done (full docs needed)

  • make sure puppet is disabled (chkconfig)
  • disable cltbld's cron job to start Xvfb and metacity
  • remove scratchbox
  • modify /etc/default/buildbot to start your master, or if you need to use a Makefile then use chkconfig to disable the buildbot service
  • add a cron job to cleanup the builder dirs of your masters