Difference between revisions of "Hera Try Server Setup"

From CDOT Wiki
Jump to: navigation, search
(Buildmaster, note 2 for Buildslave and packages for linux)
(Added buildslaves situation)
 
(14 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<big>'''DRAFT'''</big>
 
 
 
This is the configuration of the http://hera.senecac.on.ca buildbot try server.
 
This is the configuration of the http://hera.senecac.on.ca buildbot try server.
  
 
== Front Node ==
 
== 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 ===
 
=== CVS-Mirror ===
  
Line 10: Line 21:
 
=== Try-Server ===
 
=== Try-Server ===
  
* CentOS + LAMP (which DB do you want? versions?)
+
* FTP access to web root.
 
 
* '''TODO''' -- clarify what we need from http://mxr.mozilla.org/seamonkey/source/tools/buildbot/buildbot/
 
  
 
* Try-Server web interface requires the REMOTE_USER to be set.  We'd like to use .htaccess to manage vs. logins on the box
 
* Try-Server web interface requires the REMOTE_USER to be set.  We'd like to use .htaccess to manage vs. logins on the box
Line 18: Line 27:
 
=== Buildmaster===
 
=== Buildmaster===
  
* '''TODO'''
+
* 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.
 +
* [http://lxr.mozilla.org/mozilla/source/tools/buildbotcustom/tryserver/ Buildbot custom steps]. (Must be in Build Master directory)
 
* The master.cfg for Buildbot will be a mixture of these two buildbot-configs ([http://lxr.mozilla.org/mozilla/source/tools/buildbot-configs/tryserver/ TryServer buildbot-config] and [http://lxr.mozilla.org/mozilla/source/tools/buildbot-configs/testing/unittest/ Testing buildbot-config]) but we will end up having to customise it to our Hera farm
 
* The master.cfg for Buildbot will be a mixture of these two buildbot-configs ([http://lxr.mozilla.org/mozilla/source/tools/buildbot-configs/tryserver/ TryServer buildbot-config] and [http://lxr.mozilla.org/mozilla/source/tools/buildbot-configs/testing/unittest/ Testing buildbot-config]) but we will end up having to customise it to our Hera farm
  
 
== BuildSlaves ==
 
== BuildSlaves ==
  
* '''NOTE:''' slaves need to be able to talk to the Try-Server (i.e., web server) to push finished builds back.
+
Behind the hera front node we have the vmlinux1 and the win1, one accessed by VMWare and the other by Remote Desktop.
* '''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
+
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) ===
 
=== Linux (CentOS 5) ===
Line 55: Line 78:
 
  python setup.py install
 
  python setup.py install
  
 
+
=== OSX ===
=== Packages ===
+
* Need VNC access to start build slave. (Something to do with invalid permissions and ssh when building Mozilla)
I don't know if it applies tp write this in here, but to build Mozilla on Linux (Ubuntu 7.1) I had to get these packages:
 
* apt-get build-dep firefox
 
* apt-get install build-essential
 
* apt-get install dbus-glib-1-dev
 
* apt-get install libcurl3-dev
 

Latest revision as of 21:06, 16 April 2008

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)

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

OSX

  • Need VNC access to start build slave. (Something to do with invalid permissions and ssh when building Mozilla)