ReferencePlatforms/BuildBot

From MozillaWiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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

http://wiki.mozilla.org/ReferencePlatforms/Linux#Build_Python_2.5

Initial Setup Steps

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

Installing Zope Interface

cd /tools/dist/
wget http://www.zope.org/Products/ZopeInterface/3.3.0/zope.interface-3.3.0.tar.gz
tar xfvz zope.interface-3.3.0.tar.gz 
cd zope.interface-3.3.0/
python setup.py 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/
wget http://tmrc.mit.edu/mirror/twisted/Twisted/2.4/TwistedCore-2.4.0.tar.bz2
wget http://tmrc.mit.edu/mirror/twisted/Twisted/2.4/Twisted-2.4.0.tar.bz2
tar xfvj TwistedCore-2.4.0.tar.bz2 
tar xfvj Twisted-2.4.0.tar.bz2 
cd TwistedCore-2.4.0
python setup.py 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 setup.py 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

wget http://www.selenic.com/mercurial/release/mercurial-0.9.5.tar.gz
tar -zvxf mercurial-0.9.5.tar.gz
cd mercurial-0.9.5
export PYTHONHOME="/tools/python"
export PATH="/tools/python/bin:$PATH"
python setup.py install

Installing Scratchbox

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

wget http://repository.maemo.org/stable/chinook/maemo-scratchbox-install_4.0.1.sh
chmod a+x ./maemo-scratchbox-install_4.0.sh
./maemo-scratchbox-install_4.0.sh -s /scratchbox
/scratchbox/sbin/sbox_adduser cltbld yes

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

wget http://tablets-dev.nokia.com/chinook/maemo-sdk-install_4.0.1.sh
chmod +x maemo-sdk-install_4.0.sh
bash maemo-sdk-install_4.0.sh
/scratchbox/login
wget http://ftp.gnome.org/pub/gnome/sources/libIDL/0.8/libIDL-0.8.9.tar.gz
tar -xzvf libIDL-0.8.9.tar.gz
cd libIDL-0.8.9
./configure --prefix=/usr
make
make install

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

Installing Nagios NRPE Daemon

wget http://dag.wieers.com/rpm/packages/nagios-plugins/nagios-plugins-1.4.9-1.el5.rf.i386.rpm
wget http://dag.wieers.com/rpm/packages/nagios-nrpe/nagios-nrpe-2.5.2-1.el5.rf.i386.rpm
wget http://dag.wieers.com/rpm/packages/nagios-nrpe/nagios-plugins-nrpe-2.5.2-1.el5.rf.i386.rpm
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 -d:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co -d buildbot-trunk mozilla/tools/buildbot
cd /tools/buildbot-trunk
export PYTHONPATH=.:$PYTHONPATH
python setup.py install --prefix=/tools/buildbot-trunk
cd /tools/dist
cvs -d:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co -d botrunner mozilla/tools/botrunner.py
cp botrunner/botrunner.py /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