GitPackaging » Historique » Version 4
« Précédent -
Version 4/45
(diff) -
Suivant » -
Version actuelle
Daniel Dehennin, 10/01/2012 11:22
Séparation du workflow développeur/serveur
Gestion des paquets EOLE¶
Environnement de compilation personel¶
Il existe plusieurs outils afin de mettre en place des environnements de compilation personels.
L’outil utilisé dans le projet Debian se nomme sbuild.
Ce système peut se reposer sur un système de snapshot : on installe un système de base, propre, et la compilation se fait dans un snapshot temporarire de ce système.
Cela permet de lancer des compilations en parallèles au besoin.
Deux méthodes sont utilisables pour la mise en place des snapshots :
Lorsque les schroots sont en place et sbuild configuré, la compilation d’un paquet peut se dérouler comme suit :
buildd@build:~$ sudo apt-get install git-core git-buildpackage fakeroot build-essential debhelper cdbs buildd@build:~$ git clone http://dev-eole.ac-dijon.fr/git/eole-debsums buildd@build:~$ cd eole-debsums buildd@build:~$ git checkout -b dist/ubuntu/lucid/build origin/dist/ubuntu/lucid/master buildd@build:~$ git buildpackage --git-builder="sbuild -A -d eole2.3-dev" --git-cleaner=/bin/true
TODO Proposition de workflow¶
Partie développeur¶
- Création d’un tag signé contenant un nouveau numéro de version
- Envoi du tag sur le dépôt central dev-eole
Partie serveur¶
- Vérification de la signature: si nok => suppression du tag + report + quit
- Checkout du tag == récup de la conf gbp.conf
- Switch sur la branche de build
- Merge du tag dans la branche de build
git-dch -a -R/-S debian/
git add debian/changelog
git commit \ -m "Nouveau paquet debian version: $(dpkg-parsechangelog | awk '/^Version/ {print $2}')"
git buildpackage \ --git-builder="sbuild -A -d $(dpkg-parsechangelog | awk '/^Distribution/ {print $2}')" --git-cleaner=/bin/true
- Si build OK => git buildpackage --git-tag-only + git push