slitaz-doc-wiki-data view pages/fr/cookbook/buildbot.txt @ rev 44

Update pages/fr folder.
author Christopher Rogers <slaxemulator@gmail.com>
date Sun May 01 07:40:21 2011 +0000 (2011-05-01)
parents
children
line source
1 ====== Build Bot (tazbb) ======
3 Le but de Tazbb est d'automatiser, de vérifier et d'établir un rapport de la construction des paquets dans un wok. *tazbb usage* permet d'obtenir la liste des commandes disponibles avec une courte description. Le statut du Build Bot sur Tank est sur bb.slitaz.org via une interface web à Tazbb, pour la coopération, utiliser le [[http://labs.slitaz.org/wiki/distro/Tazbb|Tazbb Wiki]].
5 ===== Comment ça marche? =====
7 Tazbb peut être exécuté par une tâche cron pour vérifier les dernières mises à jour faites par les contributeurs et 'cuisiner' alors les packets modifiés. Lancer 'tazbb cook-commit' reconstruit juste les derniers paquets modifiés. Pour reconstruire tous les paquets manquants, modifiés ou non-construits, vous devez utiliser la commande 'tazbb cook-all'.
9 La génération d'un rapport liste toutes les recettes dans le wok et vérifie si un fichier paquet existe, sinon le nom du paquet est ajouté à la liste de cuisson actuelle. Pour les paquets existants on compare les dates de tous les fichiers dans le wok Hg (recette, stuff) avec la date du fichier package.tazpkg, si elle est différente, le paquet est ajouté à la liste de cuisson.
11 Tazbb doit aussi regarder dans le chroot wok pour vérifier si le paquet a déjà été construit, (il devrait y avoir un répertoire taz/), sinon il est tracé dans le journal et nous l'ajoutons également à la liste de cuisson. Tous les paquets se font 'cuire' avec un 'script'. Les journaux de construction des paquets sont stockés dans $LOG_DIR et il existe un lien pour l'interface Web afin que les développeurs puissent vérifier facilement les bugs.
13 Lorsqu'il est exécuté avec l'option « cook » - Tazbb va également supprimer les anciens paquets et ceux corrompus, puis exécuter <nowiki>« tazwok genlist --text »</nowiki> pour reconstruire toutes les listes de paquets. Pour fonctionner correctement, la configuration des chemins de Tazwok et Tazbb doit correspondre. Le fichier système de configuration Tazbb est: ///etc/slitaz/tazbb.conf//
15 ===== Commandes =====
17 Tazbb peut être installé sur votre machine et lancé manuellement à partir de la ligne de commande - il suffit de juste saisir « tazbb usage » pour obtenir une liste des fonctions disponibles. Tazbb peut être exécuté en mode rapport et paramétré pour afficher plus d'informations avec l'option //<nowiki>--verbose</nowiki>//.
19 ===== Hg et chroot Wok =====
21 Tazbb utilise 2 woks: un wok Hg propre et un wok de construction des paquets dans un environnement chroot. Chaque fois que Tazbb est appelé, le wok Hg est mis à jour, avec copie au wok de construction, ainsi la pollution par les résultats de la construction est évitée et il est également possible de modifier manuellement des recettes ou apporter des corrections directement sans affecter le wok Hg principal. S'il est configuré correctement 'tazdev update-wok' peut également mettre à jour le wok Hg et copier des fichiers.
23 ===== Les fichiers journaux =====
25 Tazbb utilise les outils existants tels que tazwok pour construire les paquets, mais il génère ses propres fichiers journaux et a sa propre base de données stockée dans un fichier texte. Les fichiers journaux sont disponibles via l'interface Web et le chemin par défaut pour ces fichiers est: ///var/log/tazbb//
28 ===== Interface Web =====
30 Tazbb enregistre toutes ses activités dans des fichiers journaux et une liste de cuisson. Ces informations peuvent être affichées via une jolie interface web de façon à ce que les développeurs aient un aperçu rapide de la dernière génération des résultats. Le paquet Tazbb fournit une interface web PHP, avec des feuilles de style CSS et des images installées par défaut dans ///var/lib/tazbb/web//. Un lien symbolique est créé dans ///var/www/vhosts// par paquet, il offre un accès facile aux fichiers journaux générés par un hôte virtuel, ou vous pouvez utiliser: http://localhost/vhosts/bb
32 ===== Hg hook =====
34 Mercurial offre un mécanisme puissant pour effectuer des actions automatiques en réponse aux événements qui se produisent dans un dépôt. Le nom que Mercurial utilise pour l'une de ces actions est hook. Ainsi Tazbb peut être exécuté à chaque fois qu'un commit est fait dans le wok à travers un simple hook dans le fichier .Hgrc du dépôt. Exemple:
36 <file>
37 [hooks]
38 commit = tazbb cook-commit
39 </file>
41 ===== Cron Job =====
43 Tazbb peut également être exécuté par une tâche cron, de sorte que chaque nouveau commit dans le wok fait 'cuire' le bon paquet quand vous le voulez. Cron peut également être utilisé pour actualiser le rapport ou tout 'cuire'. Si la dernière cuisson n'est pas encore terminée ou si tazbb a été exécuté à la main (et est toujours en cours d'exécution), il s'arrêtera immédiatement en raison de la présence d'un fichier verrou dans ///var/lock//. Exemple d'une tâche cron pour 'tazbb cook commit' toutes les 2 heures et faire cuire tous les paquets manquants, modifiés ou non bâtis, chaque nuit:
45 <file>
46 */2 * * * * /usr/bin/tazbb cook-commit
47 03 02 * * * /usr/bin/tazbb cook-all
48 </file>
50 ===== Database Files =====
52 * blocked : Liste de paquets bloqués
53 * cooklist : Liste de cuisson courante ou prochaine
54 * corrupted : Liste des paquets corrompus
55 * packaged : Tous les paquets du wok de construction
56 * removed : Derniers paquets supprimés
57 * report : Dernier rapport de check_{wok,commit}
58 * running : La tâche courante en cours d'exécution
59 * summary : Dernier résumé pour l'interface de Web
60 * unbuilt : Liste des packages non construits