blob: 66faef8cd61f1b47e9b8cbc8caf9254d58eeca29 [file] [log] [blame]
#summary This page documents how to setup a buildbot for Melange.
#labels Contents-Draft,Importance-Useful,Phase-Deploy
= Introduction =
Buildbot is an open source framework for automating software build, test run, and release. At Melange, we're using buildbot for these automations. The instructions are for a mint clean debian based machine, however due to various choices made in this page, the instructions shouldn't be a lot different for other distros.
= Instructions =
{{{
$ wget https://raw.github.com/pypa/pip/master/contrib/get-pip.py
$ sudo python get-pip.py
$ sudo pip install virtualenv
$ sudo apt-get update
$ sudo apt-get install libcurl4-gnutls-dev libexpat1-dev gettext libz-dev libssl-dev python-lxml python-dev
$ cd; mkdir buildbot; cd buildbot;
$ virtualenv venv; cd venv; . bin/activate
$ pip install buildbot buildbot-slave
$ buildbot create-master master
$ mv master/master.cfg.sample master/master.cfg
# Let's see if the everything is in order as of now.
$ buildbot master start; tail -f master/twistd.log
# If the logs appear okay, we're good to go!
# Let's create a slave, and see if it's running okay.
$ cd ~/venv; buildslave create-slave slave localhost:9989 example-slave pass
$ buildslave start slave; tail -f slave/twistd.log
# Again, If the logs appear okay, we're good to go!
}}}
The next step involves copying the config files from `/configuration` directory in melange-project-root, to the buildbot machine's master folder - `~/venv/master/`
The file private.py has some fields, whose description is documented in the file itself. The fields are pretty straightforward, and the description about them in the same file should be sufficient.
Now, let's restart the buildbot -
{{{
$ cd ~/venv/master
$ buildbot restart
}}}
At this point, it might make sense to run these commands, just to check everything is in order -
{{{
$ buildbot master start; tail -f master/twistd.log
$ buildslave start slave; tail -f slave/twistd.log
}}}