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

From Kiwix
Jump to navigation Jump to search
Line 23: Line 23:
* Create a VirtualBox VM
* Create a VirtualBox VM
* Install Ubuntu 10.04.4 (Newer versions of Ubuntu uses a recent glibc)
* Install Ubuntu 10.04.4 (Newer versions of Ubuntu uses a recent glibc)
* Select Mail Server (postfix) and OpenSSH server during install.
* Select OpenSSH server during install.
* Create a regular user (dev)
* Create a regular user (dev)
* Use whole disk partitioning
* Use whole disk partitioning

Revision as of 15:28, 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 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