URL: https://linuxfr.org/users/mzf/journaux/debian-et-l-integration-continue Title: Debian et l'intégration continue Authors: mzf Date: 2019年02月05日T12:32:16+01:00 License: CC By-SA Tags: debian Score: 34 Cher journal, j'aimerais partager mon enthousiaste suite à la lecture de [l'infolettre pour développeurs Debian n°47](https://lists.debian.org/debian-devel-announce/2019/02/msg00001.html). Celle-ci m'a fait découvrir l'intégration continue dans la création des paquets Debian. Le projet Debian a un haut niveau d'exigence concernant la qualité des paquets. Le système existant vérifie déjà beaucoup de choses lorsque les paquets sont ajoutés aux archives officielles (unstable, testing, stable, etc.), comme: - La [construction du paquet](https://buildd.debian.org/) sur une vingtaine d'architectures matérielles (!) - L'analyse statique et la conformité du paquet avec [Lintian](https://lintian.debian.org) - La [reproductibilité binaire](https://tests.reproducible-builds.org/debian/reproducible.html) - L'installation et la suppression du paquet avec [piuparts](https://wiki.debian.org/piuparts) - Les éventuels tests automatiques [autopkgtest](https://people.debian.org/~mpitt/autopkgtest/README.running-tests.html) Comme tous ces tests sont exécutés après la publication du paquet, il est courant de ne découvrir que tardivement certains problèmes. Par exemple il n'est pas aisé de lancer les tests autopkgtest dans un environnement vierge ou encore de tester la reproductibilité binaire sur plusieurs architectures. Même si les outils existent, leur mise en place est pénible et chronophage. C'est pour découvrir et corriger facilement ces difficultés avant la publication que l'intégration continue a été mise en place. Le projet Debian met à disposition une instance [GitLab](https://about.gitlab.com/), nommée [Salsa](https://salsa.debian.org), pour faciliter la création des paquets à plusieurs mainteneurs. L'équipe [Salsa CI Team](https://salsa.debian.org/salsa-ci-team) a ainsi rendu possible le lancement automatique de tous les tests sus-cités suite à chaque commit sur un dépôt de code de Salsa. Cerise sur le gâteau, la mise en œuvre est très simple ! Il suffit de rajouter le fichier `debian/gitlab-ci.yml` contenant ces quelques lignes: ``` include: - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/salsa-ci.yml - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/pipeline-jobs.yml variables: RELEASE: 'unstable' ``` Puis configurer le chemin vers ce fichier dans les options du projet : ```Settings``` -> ```CI/CD``` -> ```General Pipelines``` -> ```Custom CI config path``` A chaque envoi de code, la construction du paquet et les tests sont automagiquement lancés et affichés dans la jolie interface graphique de GitLab: ![L'intégration continue sur Salsa](https://framapic.org/tqIe5rF6T29I/YlW527NIOvyO.png) En arrière-plan des instances Docker semblent utilisées. J'ai l'impression que seule l'architecture amd64 est testée, mais cela suffit pour détecter rapidement les problèmes courants. Donc une super initiative qui, je l'espère, va bientôt être utilisée par tous les paquets Debian ! Pour ouvrir la discussion: - Avez-vous eu des expériences similaires avec l'infrastructure Debian ? - Est-ce que d'autres distributions Linux utilisent des systèmes d'intégration continue ?

AltStyle によって変換されたページ (->オリジナル) /