0% ont trouvé ce document utile (0 vote)
94 vues18 pages

Presentationgitlab Ci

Transféré par

abdou aziz mbengue
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
94 vues18 pages

Presentationgitlab Ci

Transféré par

abdou aziz mbengue
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Exposé sur :

Gitlab CI

Présenté par

Elhadj Mbaye Faye

Abdou Aziz Mbengue


Plan
Introduction 01
Définition et objectif 02
Architecture de GitLab CI 03
Fonctionnalités de GitLab CI/CD 04

Gitlab Runners 04

Création d’un pipeline CI/CD sur gitlab 05


Conclusion 06
01
Introduction

GitLab CI est un service d'intégration continue (CI) et de


déploiement continu (CD) offert par la plateforme GitLab. Son
objectif principal est d'automatiser le processus de
construction, de test et de déploiement des applications
logicielles.
02
Définition et objectif

L'objectif principal de GitLab CI est de fournir un moyen


efficace et automatisé d'intégrer, tester et déployer des
modifications logicielles. Voici quelques raisons pour
lesquelles GitLab CI est important dans le développement
logiciel :
02
Définition et objectif

Détecter les erreurs tôt


Assurer la qualité du code
Faciliter le déploiement continu
Automatisation des tâches répétitives
Collaboration efficace
Open Source
Facile à utiliser
03
Architecture de GitLab CI
04
Fonctionnalités de GitLab CI/CD

L'objectif principal de GitLab CI est de fournir un moyen


efficace et automatisé d'intégrer, tester et déployer des
modifications logicielles. Voici quelques raisons pour
lesquelles GitLab CI est important dans le développement
logiciel :
04
Fonctionnalités de GitLab CI/CD
Intégration continue (CI)

L'intégration continue (CI) est une pratique de développement logiciel qui


consiste à automatiser le processus d'intégration du code produit par les
développeurs dans un référentiel partagé. L'objectif principal de l'intégration
continue est de détecter rapidement les problèmes d'intégration, tels que les
conflits de code et les erreurs de compilation, en effectuant des tests
automatisés à chaque modification du code source.
•Voici comment GitLab CI implémente le concept d'intégration continue :
04
Fonctionnalités de GitLab CI/CD
Intégration continue (CI)
Définition des pipelines CI/CD : Dans GitLab CI, les développeurs définissent leurs
pipelines d'intégration continue à l'aide d'un fichier de configuration nommé .gitlab-
[Link]. Ce fichier contient des instructions sur les étapes à suivre pour construire, tester
et déployer l'application.
Déclenchement automatique des pipelines : À chaque fois qu'un développeur pousse
du code vers le référentiel GitLab, GitLab CI déclenche automatiquement le pipeline
d'intégration continue associé. Cela garantit que chaque modification du code est
automatiquement intégrée dans le processus de développement.
04
Fonctionnalités de GitLab CI/CD
Intégration continue (CI)
Exécution des jobs : Le pipeline d'intégration continue est composé de plusieurs jobs,
chacun représentant une étape du processus de développement, tels que la
compilation du code, l'exécution des tests unitaires et l'analyse statique du code. GitLab
CI utilise des runners pour exécuter ces jobs dans des environnements isolés.
Rétroaction rapide : Une fois les jobs terminés, GitLab CI fournit des rapports détaillés
sur les résultats des tests et des analyses effectuées. Les développeurs reçoivent une
rétroaction rapide sur la qualité du code qu'ils ont ajouté, ce qui leur permet de détecter
et de corriger les problèmes rapidement.
04
Fonctionnalités de GitLab CI/CD
Intégration continue (CI)
04
Fonctionnalités de GitLab CI/CD
Déploiement continue (CD)
Le déploiement continu (Continuous Deployment, CD) est une pratique de
développement logiciel qui automatise le déploiement de chaque version de code
valide vers l'environnement de production. L'objectif est de rendre le processus de
déploiement aussi transparent et fiable que possible, en minimisant les risques
associés aux déploiements manuels et en accélérant la mise en production des
nouvelles fonctionnalités.
04
Fonctionnalités de GitLab CI/CD
Déploiement continue (CD)

GitLab CI facilite le déploiement continu de plusieurs manières :


Intégration étroite avec le contrôle de version
Pipelines flexibles et personnalisables
Intégration avec Docker et les conteneurs
Déploiements automatisés et pilotés par l'infrastructure
Suivi et gestion des versions
05
Gitlab Runners
Les GitLab Runners sont des agents qui permettent d'exécuter des tâches automatisées, notamment des
builds, des tests et des déploiements, dans les pipelines GitLab. Concrètement, ce sont eux qui exécutent
véritablement les jobs. Les Runners peuvent être de diverses nature.
05

Gitlab Runners

Ils peuvent être situés sur des serveurs séparés de l'instance qui héberge
GitLab : il peut s'agit de machines virtuelles, mais aussi de conteneurs Docker
ou même dans Kubernetes.
Les Runners sont pensés pour distribuer la charge et permettent une
configuration avancée : certains peuvent avoir des ressources différentes,
des capacités d'exécution variées, etc.
06
Création d’un pipeline CI/CD sur gitlab

Pour configurer une pipeline CI/CD dans un projet


GitLab, il suffit de créer un fichier .[Link] à la
racine du proejt Git. Par défaut, GitLab nous
propose le pipeline suivant.
07
Conclusion

En conclusion, GitLab CI est un outil puissant qui facilite grandement la mise en


œuvre du déploiement continu dans les projets de développement logiciel. Grâce à
son intégration étroite avec GitLab, sa configuration simple à l'aide de fichiers YAML
et sa capacité à gérer les dépendances, les variables et les tests automatisés,
GitLab CI simplifie le processus de création, de test et de déploiement des
applications. Son support pour le déploiement sur différentes plates-formes et son
approche de déploiement incrémental contribuent également à accélérer le cycle
de développement et à améliorer la qualité des logiciels livrés.

Vous aimerez peut-être aussi