From MozillaWiki
Jump to: navigation, search

BuildBot Reference Installation Instructions

Steps already completed on the CentOS 5 Image

These were the steps used to deploy a test BuildBot master/slave on Linux; we're evaluating BuildBot for certain tasks, the below configuration is subject to change.

win32 specific instructions MacOSX specific instructions

Make directories

 mkdir -p /tools/dist/logs
 mkdir -p /builds/logs

Install python

Initial Setup Steps

export PYTHONHOME="/tools/python"
export PATH="/tools/python/bin:$PATH"

Installing Zope Interface

cd /tools/dist/
tar xfvz zope.interface-3.3.0.tar.gz 
cd zope.interface-3.3.0/
python install --prefix=/tools/zope-interface-3.3.0
cd /tools; ln -s zope-interface-3.3.0/ zope-interface
export PYTHONPATH="/tools/zope-interface/lib/python2.5/site-packages/:$PYTHONPATH"

Installing Twisted

cd /tools/dist/
tar xfvj TwistedCore-2.4.0.tar.bz2 
tar xfvj Twisted-2.4.0.tar.bz2 
cd TwistedCore-2.4.0
python install --prefix=/tools/twisted-core-2.4.0
pushd /tools/; ln -s twisted-core-2.4.0/ twisted-core; popd
export PYTHONPATH="/tools/twisted-core/lib/python2.5/site-packages:$PYTHONPATH"
cd /tools/dist/Twisted-2.4.0/
python install --prefix=/tools/twisted-2.4.0
cd /tools; ln -s twisted-2.4.0 twisted
export PYTHONPATH="/tools/twisted/lib/python2.5/site-packages/:$PYTHONPATH"

Installing Mercurial

tar -zvxf mercurial-0.9.5.tar.gz
cd mercurial-0.9.5
export PYTHONHOME="/tools/python"
export PATH="/tools/python/bin:$PATH"
python install

Installing Scratchbox

As root:
Add 'vdso=0' to the kernel parameters.

chmod a+x ./
./ -s /scratchbox
/scratchbox/sbin/sbox_adduser cltbld yes

As cltbld:
Comment out the PYTHONHOME and PATH entries in ~/.bash_profile

chmod +x
tar -xzvf libIDL-0.8.9.tar.gz
cd libIDL-0.8.9
./configure --prefix=/usr
make install

Remove the comments from the PYTHONHOME and PATH entries in ~/.bash_profile

Installing Nagios NRPE Daemon

rpm --nodeps -i *.rpm
chkconfig --level 235 nrpe on
# todo: make sure this is right after configs get checked in
cvs co -d nagios mozilla/tools/nagios
mv nagios/nrpe-linux.cfg /etc/nagios/nrpe.cfg

Steps to be completed on a fresh VM

You should have a /builds drive added to the VM before completing this section.

Move Scratchbox

  1. Boot into single user mode (append 'init=/bin/sh' to the kernel params from grub).
  2. mount -o remount,rw /
  3. mv /scratchbox /builds
  4. ln -s /builds/scratchbox /scratchbox
  5. mount -o remount,ro /
  6. Reboot the VM.

Installing BuildBot

export PATH="/tools/twisted/bin:/tools/twisted-core/bin:$PATH"
cd /tools
cvs co -d buildbot-trunk mozilla/tools/buildbot
cd /tools/buildbot-trunk
python install --prefix=/tools/buildbot-trunk
cd /tools/dist
cvs co -d botrunner mozilla/tools/
cp botrunner/ /tools/buildbot-trunk/bin/
rm -rf botrunner/
cd /tools; ln -s buildbot-trunk buildbot

Create the Buildbot User

(...or you could use an existing account if you prefer)

useradd -m buildbot
passwd buildbot

Final Configuration

Add the appropriate paths to the Buildbot user's .bash_profile

echo 'export PYTHONHOME="/tools/python"' >> ~/.bash_profile
echo 'export PYTHONPATH="/tools/buildbot/lib/python2.5/site-packages:/tools/twisted/lib/python2.5/site-packages:/tools/twisted-corelib/python2.5/site-packages/:/tools/zope-interface/lib/python2.5/site-packages/"' >> ~/.bash_profile
echo 'export PATH="/opt/local/bin:/tools/buildbot/bin:/tools/twisted/bin:/tools/twisted-core/bin:$PYTHONHOME/bin:$PATH"' >> ~/.bash_profile

Notes about Centos5

  • change default vnc bit-depth to 32bpp.
    • modified /etc/sysconfig/vncserver's args to include -depth 24