Hera Try Server Setup
This is the configuration of the http://hera.senecac.on.ca buildbot try server.
Front Node
General OS
- CentOS 5
- incron
- cron
- perl
- python
- mysql with 1 database set up
- apache configured so that a .cgi/.pl/.py will be run in any directory and the DocumentRoot is writable
- ssh
- vnc
CVS-Mirror
This is necessary for the buildslaves inside hera, but also for Seneca developers (e.g., getting code in a lab is slow now) -- so make this accessible (i.e, hera.senecac.on.ca:2401) for Seneca IPs if you don't want it to be public, otherwise make it public. See http://wiki.mozilla.org/How_to_Create_a_CVS_Mirror
Try-Server
- FTP access to web root.
- Try-Server web interface requires the REMOTE_USER to be set. We'd like to use .htaccess to manage vs. logins on the box
Buildmaster
- Needs to have port 12345 open to external network. Some of the build slaves will be hosted on the Amazon EC2 service, and will need to access the master on this port. For example, I need to be able to have hera.senecac.on.ca:12345 pointing to the build master.
- Buildbot custom steps. (Must be in Build Master directory)
- The master.cfg for Buildbot will be a mixture of these two buildbot-configs (TryServer buildbot-config and Testing buildbot-config) but we will end up having to customise it to our Hera farm
BuildSlaves
Behind the hera front node we have the vmlinux1 and the win1, one accessed by VMWare and the other by Remote Desktop. These contain the buildbot slave's in these locations:
- vmlinux1
- /home/buildslave/slave and /home/buildslave/slave1
- X server
- buildbot resides on: /usr/local/bin/buildbot
- buildslave reside on: /Users/awdelyea/buildbot/slave
- win1
- ?
BuildSlaves' requirements
All Machines
- Slaves need to be able to communicate to build master on port 12345
- Slaves need to be able to talk to the Try-Server (i.e., web server) to push finished builds back via scp.
- Slaves will have to be able to checkout the latest source code, either from the CVS-mirror that we set up or from Mozilla CVS repository
Linux (CentOS 5)
- Setup Build Environment - see version info at http://wiki.mozilla.org/ReferencePlatforms/Linux-CentOS-5.0
- Setup Buildbot - see http://wiki.mozilla.org/ReferencePlatforms/BuildBot/Linux
Windows (Server 2003)
- Windows Server 2003 (or XP if you can't do 2003)
- Visual Studio 2005 (just C++) or grab the free one and add the Platform SDK manually. See: http://developer.mozilla.org/en/docs/Windows_Build_Prerequisites#Software_Requirements
- Install Python http://www.python.org/ftp/python/2.4.4/python-2.4.4.msi
- Add Python to the system path
- Install Python-Twisted library http://tmrc.mit.edu/mirror/twisted/Twisted/2.4/Twisted_NoDocs-2.4.0.win32-py2.4.exe
- Install pywin32 extensions http://superb-west.dl.sourceforge.net/sourceforge/pywin32/pywin32-210.win32-py2.4.exe
- Get and Build/Install buildbot:
cvs -d:pserver:anonymous@cvs.mozilla.org:/cvsroot co mozilla/tools/buildbot cd mozilla/tools/buildbot python setup.py build python setup.py install
OSX
- Need VNC access to start build slave. (Something to do with invalid permissions and ssh when building Mozilla)