Difference between revisions of "Black&White Project/Compilation Farm/Setup"

From Kiwix
Jump to navigation Jump to search
(Created page with "== Slave Setup == buildbot slave does not require much: a working python/setuptools environnment. === Linux Slave Setup === * Create a VirtualBox VM * Install Ubuntu 10.04.4 ...")
 
Line 1: Line 1:
== Organization ==
The Compilation Farm is installed on the download.kiwix.org server.
It is organized as:
* A buildbot master running as user buildbot on the server.
* A set of VirtualBox VMs running buildbot slaves.
** '''ubuntu32''': i686 deb, i686 static
** '''ubuntu64''': x86_64 deb, x86_64 static
** '''macosx''': universal (i386+x86_64) dmg with app.
** '''win32''': i386 windows static
** '''win64''': x64 windows static
** '''fedora''': i686 sugar static
** '''arm''': armv5 kiwix-serve static
== Master Setup ==
== Slave Setup ==
== Slave Setup ==
buildbot slave does not require much: a working python/setuptools environnment.
buildbot slave does not require much: a working python/setuptools environnment.

Revision as of 15:23, 3 May 2012

Organization

The Compilation Farm is installed on the download.kiwix.org server. It is organized as:

  • A buildbot master running as user buildbot on the server.
  • A set of VirtualBox VMs running buildbot slaves.
    • ubuntu32: i686 deb, i686 static
    • ubuntu64: x86_64 deb, x86_64 static
    • macosx: universal (i386+x86_64) dmg with app.
    • win32: i386 windows static
    • win64: x64 windows static
    • fedora: i686 sugar static
    • arm: armv5 kiwix-serve static

Master Setup

Slave Setup

buildbot slave does not require much: a working python/setuptools environnment.

Linux Slave Setup

  • Create a VirtualBox VM
  • Install Ubuntu 10.04.4 (Newer versions of Ubuntu uses a recent glibc)
  • Select Mail Server (postfix) and OpenSSH server during install.
  • Create a regular user (dev)
  • Use whole disk partitioning
  • Install packages:
# apt-get install --fix-missing build-essential autoconf automake libtool pkg-config fastjar libssl-dev libexpat1-dev libxml2-dev libgnutls-dev libgpg-error-dev libgcrypt-dev uuid-dev libuuid1 subversion zip unzip python-pip vim python-dev
  • Install python tools
# pip install virtualenv virtualenvwrapper

From now, you won't need root privileges anymore.

  • Log in as dev user
  • Edit ~.bashrc and add at the end
export EDITOR="vim -v"

export WORKON_HOME=~/envs
source /usr/local/bin/virtualenvwrapper.sh
  • Log out then log-in again (to activate virtualenvwrapper)
  • Create virtualenv
mkvirtualenv --no-site-packages buildbot
  • Install buildbot
easy_install buildbot-slave
  • Create the slave
mkdir -p buildbot && cd buildbot
buildslave create-slave slave SERVER_IP:9989 BUILDER_ID BUILDER_PASS
  • Edit files in slave/info/ and put host description and maintainer
  • Start the slave
cd slave/
buildslave start