• 12 heures
  • Facile

Ce cours est visible gratuitement en ligne.

course.header.alt.is_video

course.header.alt.is_certifying

J'ai tout compris !

Mis à jour le 26/08/2019

Utilisez le GitLab intégration continue (IC)

Connectez-vous ou inscrivez-vous gratuitement pour bénéficier de toutes les fonctionnalités de ce cours !

Git, GitHub, GitLab ? Mais quelle est la différence ? 

Développeur aguerri, jeune padawan ou simple curieux du web, vous avez probablement déjà entendu parler de GitLab. Facilement reconnaissable à sa petite tête de renard, c’est un des outils incontournables en matière de gestion de projets web.

Qu'est-ce que GitLab ?

GitLab est une plateforme permettant d'héberger et gérer des projets web. GitLab est considérée comme la plateforme des développeurs modernes ! Comparé à GitHub, la palette fonctionnelle de GitLab se veut nettement plus large. Au-delà de la compilation et de la gestion de dépôts de code source sur lesquels se concentre le premier, GitLab s'étend au test logiciel, au packaging d'applications, à l'intégration et au déploiement continus, à la configuration, jusqu'au monitoring et à la sécurité applicative.

GitLab est donc une réelle alternative à GitHub ! En effet, GitLab CI est un système d'intégration continue très puissant et gratuit.

Où l'IC se situe-t-elle dans le flux de travail et que fait-il ?

L'intégration continue, ou IC, permet d'intégrer le code de votre équipe dans un référentiel partagé. Les développeurs partagent leur nouveau code dans une demande de fusion (extraction), ce qui déclenche la création, le test et la validation par un pipeline, avant la fusion des modifications dans votre référentiel.

GitLab CI/CD va vous permettre d’automatiser les builds, les tests, les déploiements, etc.  de vos applications. L’ensemble de vos tâches peut être divisé en étapes et l’ensemble de vos tâches et étapes constituent un pipeline.

Cela permet aux développeurs de se concentrer sur la création de logiciels !

GitLab est un service qui stocke les dépôts en utilisant le backbone Git, tout comme GitHub.

Il dispose d'un pipeline de CI-CD qui permet à un développeur de configurer un script automatisé pour les tests en continu, les demandes de pull, les builds, les différents environnements de test et bien plus encore !

La CI permet une intégration de code plus rapide et moins déstabilisante, puisque le code est intégré au fur et à mesure, à un rythme plus soutenu qu'avec d'autres approches de développement.

L'intégration continue
L'intégration continue 

Quels sont les autres outils de CI ?

Jetons un œil aux autres outils de CI.

L'un des principaux concurrents de GitLab est Jenkins.

Jenkis
Jenkins

Jenkins est l'un des premiers serveurs d'intégration continue open source, et reste l'option la plus couramment utilisée aujourd'hui.

Avantages :

  • logiciel gratuit ;

  • plus de 1 000 plugins sont disponibles ;

  • vous pouvez créer un plugin si celui que vous désirez n'existe pas ;

  • vous pouvez également partager ce plugin ;

  • logiciel facile à installer.

Nous pouvons évoquer aussi Buildbot, Drone, Concourse, mais Jenkins et GitLab restent les maîtres en la matière. :)

Fonctionnement de GitLab CI

Afin d'utiliser l'intégration continue de GitLab, il vous faudra créer un compte GitLab ici.

GitlabCI
GitLabCI

Pour la création du compte, vous pourrez utiliser GitHub comme connecteur. :)

Autorisation
Autorisation

Une fois le compte créé, vous pourrez soit créer un projet dans GitLab, soit uniquement utiliser le pipeline CI/CD sur un dépôt externe Git ou GitHub.

Pipeline
Pipeline

Vous pourrez ensuite importer le dépôt dont vous avez besoin.

Importation
Importation

Vous obtiendrez finalement la vue de votre projet.

Projet
Projet

Pour configurer l"intégration continue, nous devons, dans un premier temps, créer dans notre dépôt un fichier .gitlab-ci.yml  qui va lister les différentes tâches à effectuer. Lorsque GitLab détecte un fichier   .gitlab-ci.yml, il va automatiquement essayer d'exécuter les étapes avec des runners.

GitLab est un outil merveilleux, n'est-ce pas ? Apprenons à gérer les demandes de pull dans le prochain chapitre !

Exemple de certificat de réussite
Exemple de certificat de réussite