Contents |
Buildbot spirit is to create a master that contains all necessary data to do test:
This master manage to launch compilations on slaves. These slaves have a minimalistic configuration.
Buildbot can look for sources changes with Mercurial. We must use a hook that we put on the mercurial we're searching changes on. This hook consists on a call to a python script which manage to send changes to the master. There is no identification, the sending is just done on one port. To differentitate projects, we just send a branch paramater that match with the repository name.
This script is called hgbuildbot.py. This script is provided in the buildbot directory.
Utilisatio example : 9buildroot .hg/hgrc[paths] default = http://hg.easyneuf.org/9buildroot [hooks] changegroup.buildbot = python:buildbot.changes.hgbuildbot.hook [hgbuildbot] master = 0dev:9989 branchtype = dirname
Read buildbot manual
Easyneuf project is formed by many projects. The buildbot master can be found on the 0dev machine. For masters and slaves, all necessary files can be found in the /var/lib/buildbot directory.
For each slave we created 2 different chroot environment :
| Nom (schroot) | Location | Description |
| etch-9buildroot | var/lib/chroot/etch-chroot | Minimalistic debian etch used to compile NeufOS(9buildroot) |
| etch-dev | var/lib/chroot/etchdev-chroot | Debian etch with development packages used to compile each different project individuall (9mcc, minidesk, 9panel ...) |
Here is the project list and important slaves :
| projet | slave | Description |
| autobuild-easyneuf | dev6 | Official image generation from 9buildroot-prod and autobuild |
| opengate | dev3 | Official opengate image generation from 9buildroot and the build script |
| autobuild-akeo | dev8 | Official AKEO image generation from 9buildroot-prod and autobuild-akeo |