Utiliser GitLab et Github pour construire son pipeline de CI/CD
Vouloir faire de la CI/CD, c'est bien ! Mais arriver à réellement le mettre en place, c'est mieux !
Article publié le 03/06/2022, dernière mise à jour le 22/09/2023
Ceci est un article invité, écrit par Riccardo Pons et Sandra Salerno, de la startup R2Devops !
Dans un précédent article, nous avons expliqué ce qu’est la CI/CD, et pourquoi intégrer un pipeline améliorera votre projet de développement.
Il est temps de vous parler de deux plateformes très utilisées pour construire votre CI/CD : GitLab et GitHub !
GitLab et les jobs
GitLab propose une plateforme de CI/CD assez complète.
Vous pouvez construire votre pipeline de CI/CD directement dans l’interface, et ce, pour chaque projet qui y est hébergé. Regardons un peu plus dans les détails le fonctionnement de GitLab CI/CD.
Définir les stages de votre pipeline
Première étape pour construire votre pipeline sur GitLab : il vous faut définir les stages. Un stage correspond à une étape de votre pipeline. Un pipeline classique peut ressembler à ça :
- Build : construction et packaging votre software
- Tests : réalisation de tests statiques et dynamiques sur votre code
- Provision : préparation de l’infrastructure de votre logiciel
- Review : déploiement de votre solution dans un environnement isolé
- Release : mise en ligne et création des tags de version
- Deploy : déploiement de votre software dans son environnement final
GitLab n’impose aucune règle sur la création de vos stages.
Vous pouvez faire comme bon vous semble ! Ces étapes permettent seulement de cadrer les éléments qui seront appliqués dans la CI/CD de votre projet.
Implémenter des jobs pour définir les tâches qui seront réalisées
Maintenant que vous avez construit la structure de votre pipeline CI/CD, il est temps de passer à la seconde étape : ajouter des jobs !
Vous pouvez les coder vous-même, ou bien utiliser des jobs provenant de librairies open source pour vous faciliter la tâche.
GitLab propose également une feature appelée Auto DevOps qui va analyser votre projet et vous aider à construire son pipeline, en piochant dans sa librairie de templates celui qui correspond le plus à vos besoins !
GitHub et les actions
GitHub est une plateforme très utilisée pour les projets de développement.
La finalité reste la même que sur GitLab : construire le pipeline CI/CD de votre projet. Cependant, la méthode pour y arriver est différente.
Composer son workflow sur GitHub avec des actions
Commençons par les différences de vocabulaire.
Chez GitHub, contrairement à GitLab, pas besoin de définir des stages pour votre pipeline ! Vous allez créer des jobs, dans lesquels se trouveront plusieurs actions.
L’ensemble est appelé un workflow.
Par défaut, tous les jobs de votre workflow se lanceront en parallèle, ce qui réduit grandement le temps d’exécution. Bien entendu, vous pouvez également créer des liens de préséance entre vos jobs grâce au mot clé needs. Ce mot clé permet de définir qu'un job ne se lancera seulement après qu'un autre ne se soit exécuté avec succès.
GitHub possède une bibliothèque d’actions très complète, qui vous permettra d’accéder à de nombreuses fonctionnalités et outils. Vous n’avez plus qu’à y chercher celles dont vous avez besoin pour construire vos jobs et workflows.
Déclencher votre pipeline quand vous le voulez
Contrairement à GitLab chez qui le déclenchement d’un pipeline se fait lors d’un commit ou d’une Merge Request, sur GitHub c'est vous qui décidez du lancement d’un workflow.
Un workflow ne permet pas seulement de construire sa CI/CD !
Vous pouvez en effet construire des workflows pour tout type d’action, et imaginer tout type de déclencheur. Par exemple, vous pouvez lancer un workflow lorsqu’une nouvelle issue est créée sur le projet, ou encore lorsqu’un de vos collègues vous assigne pour une revue de code.
Bien entendu, vous pouvez également déclencher un workflow lors d’un commit ou d’une Pull Request (l’équivalent d’une Merge Request sur GitLab).
C’est d’ailleurs ce qu’il faudra implémenter pour votre pipeline CI/CD !
Réutiliser son workflow
Les actions sont réutilisables dans de nombreux jobs et workflows. Et il en va de même avec vos workflows : ils peuvent être utilisés dans différents projets.
Pour travailler intelligemment, il est préférable de respecter une syntaxe spécifique à GitHub et de rendre vos workflows réutilisables. De cette manière, vous pouvez dire “Adieu” aux copiés/ collés et à la duplication de code !
Générer automatiquement votre pipeline
Que vous utilisiez GitLab ou GitHub, créer vos premiers pipelines et workflows va vous demander du temps et une bonne dose de connaissances. Heureusement, il existe des solutions pour vous simplifier la tâche !
R2Devops propose l’autopipeline : une intelligence artificielle qui analyse votre projet Git, et construit un pipeline CI/CD efficace et sûr. Le tout en s’appuyant sur des ressources open source.
Construire votre pipeline CI/CD se fait maintenant en 1 clic !
Aucun commentaire pour l'instant