Sommaire |
L'esprit de Buildbot est de faire un master qui contient toutes les données nécessaires pour faire les tests :
Ce master s'occupe de lancer les compilations sur des slaves. Ces slaves ont donc une configuration minimaliste.
Buildbot sait scruter les changements de source avec Mercurial. Il faut utiliser un hook que l'on met sur le dépot mercurial à scruter. Ce hook consiste en un appel à un script python qui se charge d'envoyer au master le changement. Il n'y a pas d'identification l'envoi se fait juste sur un port. Pour différencier les projets, nous envoyons un paramètre 'branch' correspondant au nom du dépôt.
Ce script s'appelle hgbuildbot.py. Il est fourni dans le répertoire de buildbot.
Exemple d'utilisation : le .hg/hgrc de 9buildroot
[paths] default = http://hg.easyneuf.org/9buildroot [hooks] changegroup.buildbot = python:buildbot.changes.hgbuildbot.hook [hgbuildbot] master = 0dev:9989 branchtype = dirname
Voir manuel de buildbot
Le projet easyneuf est constitué de plusieurs projets. Le buildbot master se trouve sur la machine 0dev. Tous les fichiers nécessaires se trouvent dans /var/lib/buildbot pour les masters et les slaves.
Pour chaque slave on a créé 2 environnements chrootés différents :
| Nom (schroot) | Location | Description |
| etch-9buildroot | var/lib/chroot/etch-chroot | Debian etch minimaliste pour compiler NeufOS(9buildroot) |
| etch-dev | var/lib/chroot/etchdev-chroot | Debian etch avec les paquets de développement pour compiler individuellement les différents projets (9mcc, minidesk, 9panel ...) |
Voici la liste des projets et des slave importants :
| projet | slave | Description |
| autobuild-easyneuf | dev6 | génération de l'image officielle à partir de 9buildroot-prod et autobuild |
| opengate | dev3 | image officiel pour l'opengate à partir de 9buildroot et du script build |
| autobuild-akeo | dev8 | génération de l'image officielle AKEO à partir de 9buildroot-prod et autobuild-akeo |