Hera Try Server Setup

From CDOT Wiki
Revision as of 14:02, 4 February 2008 by Awdelyea (talk | contribs) (Buildmaster)
Jump to: navigation, search

DRAFT

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

  • NOTE: slaves need to be able to talk to the Try-Server (i.e., web server) to push finished builds back via scp.
  • NOTE2: 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)

Windows (Server 2003)

  • Windows Server 2003 (or XP if you can't do 2003)
  • Add Python to the system path
  • 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