Tutoriel GitLab : Comment utiliser GitLab pour la gestion de projet et CI/CD

Tutoriel GitLab : Comment utiliser GitLab pour la gestion de projet et CI/CD

GitLab est une puissante plateforme de dépôt Git qui permet d’améliorer l’efficacité du développement grâce au contrôle de version, au branchement, ainsi qu’à l’intégration continue et à la livraison continue (CI/CD). 

Dans ce tutoriel GitLab, nous allons vous expliquer tout ce qu’il faut savoir sur cette plateforme. Nous vous montrerons comment naviguer dans son tableau de bord, mettre en place un pipeline CI/CD et utiliser des commandes pour différentes tâches. Vous apprendrez également plusieurs techniques avancées, comme l’utilisation des webhooks et des GitLab Pages.

Configuration de GitLab

Tout d’abord, achetez un plan d’hébergement GitLab auprès d’un fournisseur comme Hostinger. Vous pouvez également installer GitLab manuellement sur votre machine personnelle. 

Ensuite, créez un compte GitLab pour accéder au tableau de bord. Ouvrez GitLab en entrant l’adresse IP de votre serveur dans un navigateur web, puis inscrivez-vous ou connectez-vous à votre compte. 

Les utilisateurs d’Hostinger peuvent créer un compte directement à partir de hPanel en saisissant un nouveau mot de passe pendant le processus d’installation du template GitLab. Pour obtenir ou réinitialiser les identifiants de connexion, allez dans l’onglet Accès au panneau sur la page Aperçu général du VPS de hPanel.

Important : modification de l’URL externe

La configuration de plusieurs outils dans GitLab nécessite une communication entre votre ordinateur local et son serveur hôte. Si l’adresse est incorrecte, votre VPS peut devenir inaccessible. 

Ce problème survient généralement si vous hébergez vous-même GitLab, car cette plateforme adresse votre serveur en utilisant son nom d’hôte par défaut. Parfois, le nom d’hôte ne se résout pas à l’adresse IP correspondante.

Pour éviter cette erreur, attribuez le nom de domaine ou l’adresse IP de votre serveur à GitLab. Voici comment procéder :

  1. Connectez-vous à votre serveur à l’aide d’un client SSH tel que PuTTY, Terminal ou le terminal du navigateur Hostinger.
  2. Ouvrez le fichier de configuration de GitLab à l’aide de la commande suivante :
sudo nano /etc/gitlab/gitlab.rb
  1. Recherchez le paramètre external_url, qui se trouve généralement au bas du fichier.
  2. Remplacez la valeur par l’adresse IP ou le nom de domaine de votre serveur.
  3. Appuyez sur Ctrl + X, Y et Entrée pour enregistrer la modification.
  4. Rechargez votre GitLab en utilisant la commande suivante :
sudo gitlab-ctl reconfigure

Attendez quelques minutes pour que GitLab redémarre, et vous devriez pouvoir accéder au tableau de bord.

Naviguer dans GitLab

Lorsque vous vous connectez à GitHub pour la première fois, vous voyez apparaître l’écran d’accueil principal, comme ci-dessous. Vous y trouverez des menus pour les tâches de base, comme la création d’un nouveau projet et l’ajout d’un autre utilisateur.

Dans la barre latérale gauche, vous pouvez accéder rapidement à différents menus en cliquant sur leurs boutons ou en les recherchant. Si vous ne trouvez pas ce menu latéral, placez votre curseur sur le côté gauche de votre écran ou cliquez sur l’option Garder la barre latérale visible (Keep sidebar visible) dans le coin supérieur gauche. 

Créons un nouveau projet en cliquant sur le bouton Create a Project. Ensuite, choisissez la manière de remplir le nouveau projet – en important manuellement les données d’une autre plateforme ou en utilisant le modèle fourni. Pour l’instant, créons un projet vierge. 

Saisissez les informations nécessaires et cliquez sur Create a Project. Ajoutez les fichiers de votre projet en les téléchargeant via le tableau de bord, en en créant de nouveaux, ou en poussant des dépôts Git existants avec des commandes. GitLab fournit les étapes à suivre dans le fichier README de votre nouveau projet.

L’une des meilleures pratiques GitLab lors de la création d’un projet est de structurer vos fichiers dans un dossier. Vous pouvez également classer plusieurs projets dans un groupe, qui n’est accessible qu’aux membres de l’équipe disposant des autorisations nécessaires.

Si vous êtes à l’intérieur d’un projet, la barre latérale affichera des menus pour le gérer. Le plus simple consiste à organiser le référentiel, par exemple en changeant son nom, en ajoutant une nouvelle icône ou en définissant de nouvelles balises de sujet. Vous pouvez ajuster ces informations en allant dans la barre latéraleSettings → General.

Important ! N’oubliez pas de créer des dépôts privés pour votre projet à code source fermé, car les dépôts publics sont accessibles par tous les utilisateurs en ligne.

Créer des demandes de fusion

Avant d’apporter des modifications au dépôt d’un projet, les développeurs envoient une demande de fusion. Une fois que l’examinateur a vérifié les modifications proposées, il approuve les demandes, poussant ainsi le code dans la base de code principale. 

Dans GitLab, vous pouvez créer des demandes de fusion directement ou en vous basant sur une question. Nous recommandons de commencer par créer un problème, car cela vous permet de vérifier facilement les modifications et d’éviter d’autres erreurs. Voici comment procéder :

  1. Ouvrez votre projet GitLabbarre latérale Issues. Cliquez sur New issue.
  2. Saisissez les informations relatives à la question, y compris le destinataire, la date limite et les étiquettes. Cliquez sur Create issue pour confirmer.
  3. Supposons que vous ayez travaillé sur ce problème et que vous soyez prêt à transférer les modifications. Cliquez sur Create merge request.
  1. Saisissez les informations relatives à la nouvelle demande. Cliquez sur Create merge request pour confirmer. 

C’est tout. Notez que vous ne pouvez approuver une demande de fusion que si elle contient au moins un commit. Sinon, vous ne pouvez que la fermer, laissant le problème non résolu. 

Si vous définissez le changement commis comme un brouillon, marquez-le d’abord comme prêt. Une fois que GitLab affiche un message “prêt”, vous pouvez approuver la demande et fusionner le code en cliquant sur les boutons correspondants. 

Une fois le processus terminé, GitLab fermera automatiquement le problème et la demande. Pour y accéder à nouveau, allez dans la barre latérale et cliquez sur Issues ou Requests, selon ce que vous voulez vérifier. Ensuite, sélectionnez l’onglet Closed

Utiliser l’automatisation de GitLab

GitLab dispose d’une fonctionnalité intégrée robuste qui vous permet de configurer un pipeline CI/CD et un runner pour l’automatisation des tâches.

Pour configurer l’automatisation des tâches, nous avons besoin d’un runner – un agent qui exécute des tâches spécifiques, appelées jobs, spécifiées dans votre pipeline CI/CD. Pour commencer, installez l’utilitaire GitLab Runner sur votre machine locale. 

Les étapes varient considérablement en fonction de votre système d’exploitation. Par exemple, voici comment procéder avec les distributions basées sur Debian comme Ubuntu :

  1. Accédez à l’index de GitLab Runner pour trouver le dernier nom de fichier et la dernière version. 
  2. Ouvrez le terminal de votre système local en appuyant sur Ctrl + Alt + T ou en y accédant à partir du lanceur d’applications. 
  3. Entrez la commande suivante. Remplacez l’URL par le nom du fichier que vous souhaitez télécharger :
sudo curl -LJO "https://s3.dualstack.us-east-1.amazonaws.com/gitlab-runner-downloads/latest/deb/gitlab-runner_amd64.deb"
  1. Rendez le nouveau nom de fichier exécutable à l’aide de la commande suivante :
sudo chmod +x /usr/local/bin/gitlab-runner
  1. Exécutez les commandes suivantes une par une pour installer et activer GitLab Runner :
cd ~

gitlab-runner install

gitlab-runner start
  1. Redémarrez votre ordinateur pour appliquer les modifications. 

Important ! Lorsque vous choisissez le runner dans l’index, tenez compte du code d’architecture du processeur. Par exemple, choisissez AMD64 si vous utilisez un processeur 64 bits. En revanche, téléchargez ARM64 si vous utilisez des puces ARM comme la série M d’Apple.

Maintenant, nous pouvons créer un runner via le tableau de bord de GitLab. Pour commencer, créez un nouveau projet vide en vous rendant dans la barre latérale → ProjectsNew project

Ensuite, créez un nouveau fichier appelé .gitlab-ci.yml. C’est là que vous allez spécifier tous les jobs et comment les runners doivent agir dans un scénario spécifique, comme une erreur. Par exemple, nous allons ajouter le script suivant pour créer un pipeline simple avec deux tâches – build et test :

stages:

  - build

  - test

job_build:

  stage: build

  script:

    - echo "Building the project"

job_test:

  stage: test

  script:

    - echo "Running tests"

Validez les modifications. Notez que les étapes dépendent de l’utilisation de l’environnement de développement intégré (IDE) ou de l’éditeur de texte. Une fois la configuration du pipeline GitLab terminée, nous pouvons procéder à la création du runner :

  1. Depuis la page de votre projet, accédez à la barre latérale Settings CI/CD
  2. Recherchez la section Runners, cliquez sur Expand, puis sur New project runner.
  3. Dans le menu de création, saisissez les tags de votre programme d’exécution afin de lui attribuer les tâches dont il est responsable. Vous pouvez également attribuer des tâches non marquées en cochant la case Run untagged jobs.
  4. Cliquez sur Create runner
  5. GitLab vous redirigera vers la page d’enregistrement du runner. Sélectionnez le système d’exploitation de votre système local.
  6. Ouvrez la ligne de commande de votre système local. Entrez la commande que vous avez obtenue sur la page de configuration du runner de GitLab, qui peut ressembler à ce qui suit :
gitlab-runner register  --url http://hostname.com  --token abc-defg123456
  1. Votre interface de ligne de commande (CLI) vous demandera d’entrer l’URL de l’instance GitLab. Appuyez sur Entrée pour utiliser la valeur par défaut, qui est le nom d’hôte de votre serveur. 
  2. Ajoutez une description pour votre nouveau runner. Appuyez sur Entrée.
  3. Choisissez un exécuteur – l’outil qui gérera votre processus de construction dans différents environnements. Nous utiliserons shell car c’est l’outil par défaut. 
  4. Saisissez la commande suivante pour lancer le nouveau programme d’exécution :
gitlab-runner run

Retournez sur GitLab, et vous devriez voir un message confirmant que vous avez configuré avec succès un runner. Si vous allez dans la barre latérale de votre projet → Settings CI/CDRunners, le nouveau runner aura un point vert indiquant son statut en ligne. 

Important ! Si la page d’enregistrement du runner est inaccessible, vérifiez si votre URL GitLab utilise un nom d’hôte. Si c’est le cas, essayez de le remplacer par l’adresse IP de votre serveur. Si vous rencontrez ce problème, définissez votre adresse IP ou votre nom de domaine comme URL externe par défaut.

Après avoir configuré votre pipeline CI/CD et votre runner, vérifiez qu’ils fonctionnent correctement. Pour ce faire, allez dans le tableau de bord de votre projet → barre latérale Build Pipelines. Sélectionnez un travail et vous devriez voir le journal d’exécution. 

Gérer les issues et les milestones

Issues

Les issues dans GitLab sont cruciaux pour la division des tâches et l’établissement d’objectifs. Il y a différentes façons d’en créer une, y compris la méthode que nous avons expliquée dans la section précédente Créer une demande de fusion. 

Vous pouvez également en créer une à partir d’une autre issue ou d’un autre incident. Pour ce faire, ouvrez une issue, cliquez sur l’icône à trois points en haut à droite et cliquez sur New related issue. Saisissez les informations requises et veillez à cocher la case Relate to issue #. 

Pour modifier des paramètres tels que l’attribution, les étiquettes, les dates limites et la confidentialité, il vous suffit d’ouvrir le dossier et de cliquer sur le menu correspondant dans la barre latérale droite. Vous pouvez également le faire en bloc en allant dans la barre latérale de votre projet → Plan issue et en cliquant sur Bulk edit en haut à droite. 

Si les membres de votre équipe collaborent sur un projet complexe avec des centaines de problèmes, organisez-les en utilisant les Issue boards. Sur cette page, GitLab classe les issues en fonction de leurs étiquettes pour simplifier la navigation.

À partir de ce tableau, vous pouvez également créer une question en cliquant sur le bouton plus de la liste. Pour organiser les questions, il suffit de les faire glisser et de les déposer dans différentes colonnes.

Milestone

Vous pouvez regrouper les problèmes et les demandes de fusion dans un milestone afin de suivre plus facilement la progression d’un objectif. Par exemple, vous pouvez définir un milestone comme objectif de publication d’une nouvelle fonctionnalité, les problèmes couvrant les différents services à intégrer. 

Pour créer un milestone, ouvrez la barre latérale de votre projet →  Plan Milestones New milestone. Saisissez ses informations, y compris le titre, la date de début et le deadline. Cliquez sur Create milestone pour confirmer. 

Maintenant, ouvrez votre dossier et allez dans le menu Milestone sur la barre latérale droite. Attribuez votre nouveau milestone, et son nom devrait apparaître sous les issues de la liste ou du tableau. 

Commandes GitLab les plus courantes

Comme pour les autres plateformes Git, les commandes sont essentielles pour interagir avec votre projet GitLab. Pour les utilisateurs avancés, ces utilitaires permettent de gérer les dépôts plus efficacement sans ouvrir l’application web GitLab.  

Voici les commandes Git les plus importantes :

  • Git commit – enregistre les modifications effectuées sous la forme d’un snapshot appelé commit. L’option -m permet d’ajouter une description de la modification. 
  • Git clone – copie un dépôt spécifique et crée un nouveau répertoire de travail contenant toutes ses données. 
  • Git add – spécifie les fichiers à pousser lors du prochain commit. 
  • Git blame – indique l’auteur qui a modifié des lignes spécifiques d’un fichier. 
  • Git branch – gère les branches de votre référentiel, notamment en les listant, en les supprimant, en les créant et en les renommant. 
  • Git merge – combine une nouvelle modification d’une branche à la base de code principale. 
  • Git fetch – met à jour votre dépôt local sans modifier la branche courante.

Vous pouvez exécuter ces commandes à différents endroits en fonction de votre environnement de développement. Par exemple, vous pouvez les exécuter sur le terminal de votre IDE ou sur l’interface de ligne de commande de votre machine locale. 

N’oubliez pas que Git doit être installé sur votre système pour que vous puissiez utiliser ces commandes. Les utilisateurs de Windows peuvent l’installer en téléchargeant et en extrayant le package d’installation à partir du site web officiel. Par ailleurs, ce logiciel est préinstallé dans la plupart des systèmes d’exploitation MacOS.

Sous Linux, installez Git à l’aide de la commande de votre gestionnaire de paquets. Par exemple, entrez la commande suivante si vous utilisez Ubuntu ou d’autres distributions basées sur Debian :

sudo apt install git 

GitLab dispose également de commandes supplémentaires spécifiquement destinées à la gestion des runners. La syntaxe est la suivante :

gitlab-runner [tâche] [option]

Les tâches acceptables et leurs fonctions sont les suivantes :

  • Register – active un runner.
  • Start – active un runner spécifique.
  • Stop – met fin à l’exécution d’un programme particulier.
  • Unregister – désactive un runner. 

Nous vous recommandons de lire la documentation de GitLab Runner pour en savoir plus sur l’utilisation de la commande. Vous pouvez également consulter le manuel de cet utilitaire en exécutant la commande suivante dans votre CLI :

gitlab-runner --help

Fonctionnalités avancées de GitLab

GitLab dispose de plusieurs fonctionnalités avancées qui peuvent vous aider à gérer différentes tâches. Voici deux des fonctionnalités les plus courantes. 

Intégration de Webhooks pour l’automatisation

Les webhooks sont des fonctions de rappel HTTP qui s’exécutent lorsqu’un événement spécifique se produit. Contrairement aux runners, vous les utilisez pour automatiser des tâches plus générales plutôt que des travaux complexes au sein de votre pipeline CI/CD. 

Par exemple, vous pouvez définir un webhook pour déclencher des tâches CI/CD, mettre à jour des problèmes ou déployer vos applications dans l’environnement réel. De plus, il vous permet de connecter des applications externes, y compris des plateformes d’alerte comme Twillo.

Vous pouvez créer un webhook pour des groupes ou des projets en suivant les mêmes étapes. Voici comment procéder :

  1. Ouvrez votre projet ou groupe et accédez à la barre latérale Settings Webhooks.
  2. Cliquez sur Add new webhook.
  3. Saisissez le webhook URL endpoint, qui peut être obtenu auprès des plateformes ou des services que vous souhaitez connecter. 
  4. Saisissez des informations telles que le nom ou la description du webhook. 
  5. Dans la section Event, vérifiez les événements GitLab que votre webhook va déclencher.
  6. Cliquez sur Add webhook pour confirmer.

Testez le nouveau webhook pour vous assurer qu’il fonctionne correctement. Pour ce faire, ouvrez la page de votre projet ou groupe et accédez à la barre latéraleSettingsWebhooks. Faites défiler vers le bas jusqu’à la liste des webhooks. Cliquez sur Test et sélectionnez le type d’événement que vous souhaitez déclencher.

Utilisation de GitLab Pages pour l’hébergement web

La plateforme GitLab Pages vous permet d’héberger gratuitement un site statique directement à partir de votre dépôt GitLab. C’est une excellente solution pour les projets simples avec un faible trafic, comme un site de portfolio ou une documentation publique. 

Vous pouvez héberger des pages statiques écrites en HTML, CSS et JavaScript. En outre, GitLab Pages prend en charge les générateurs de sites les plus populaires, tels que Jekyll, Hugo et Gatsby. 

Voici les étapes pour déployer un site statique depuis votre dépôt GitLab vers GitLab Pages. Avant de continuer, assurez-vous d’avoir installé Docker et Jekyll

  1. Créez un nouveau projet vierge dans GitLab.
  2. Ajoutez un nouveau fichier HTML appelé index.html et remplissez-le avec le contenu de votre site. Par exemple, voici une page de base :
 <html>

 <head>

   <title>Home</title>

 </head>

 <body>

   <h1>Hello World!</h1>

 </body>

 </html>
  1. Créez un nouveau fichier gemfile.html spécifiant les dépendances Ruby, que nous utiliserons pour construire ce site web. Voici à quoi ressemble le contenu du fichier :
source "https://rubygems.org"

gem "jekyll"
  1. Créer un fichier .gitlab-ci.yml contenant le script de déploiement et de construction du site web. Voici un exemple :
image: ruby:3.2

pages:

  script:

    - gem install bundler

    - bundle install

    - bundle exec jekyll build -d public

  artifacts:

    paths:

      - public
  1. Sauvegarder et valider tous les fichiers. 
  2. Allez dans la barre latérale de votre projet → Paramètres → CI/CD pour créer un programme d’exécution pour les jobs non marqués. Reportez-vous à la section précédente si vous ne savez pas comment procéder. 
  3. Allez sur Build Pipeline Run Pipeline pour démarrer votre pipeline de déploiement.
  1. Une fois le pipeline terminé, allez sur Deploy Pages pour obtenir le lien de votre site web GitLab Pages.

Si vous souhaitez modifier votre site web ultérieurement, il vous suffit de valider les modifications et de pousser le nouveau code dans votre dépôt. Cela déclenchera le script de construction et de déploiement spécifié dans le fichier YAML de GitLab. 

Vérifiez le statut de votre pipeline pour voir si GitLab a fini de déployer les changements. Une fois le processus terminé, votre site devrait être mis à jour.

Conclusion

GitLab est une plateforme puissante basée sur le logiciel de gestion de versions Git. Il permet d’améliorer l’efficacité du développement de logiciels grâce au contrôle de version et à l’automatisation. Cet outil organise votre base de code et vos fichiers dans un dépôt appelé project, que vous pouvez créer à partir du tableau de bord principal. 

Pour gérer un projet, naviguez dans la barre latérale de gauche et sélectionnez le menu approprié. Par exemple, vous pouvez créer une issue pour définir des tâches et créer une demande de fusion pour proposer des modifications aux fichiers de votre projet. Utilisez le suivi des issues pour organiser facilement vos tâches.

De plus, vous pouvez mettre en place un pipeline CI/CD pour l’automatisation en créant un runner et un fichier YAML. Pour améliorer l’efficacité de votre flux de travail GitLab, utilisez les commandes Git pour interagir avec votre dépôt directement à partir de l’interface de ligne de commande de votre machine locale. 

GitLab propose également des fonctionnalités supplémentaires qui permettent de gérer d’autres tâches. Par exemple, les webhooks intègrent des outils tiers et automatisent des tâches générales telles que les alertes. Par ailleurs, utilisez GitLab Pages pour déployer des pages statiques directement à partir de votre référentiel.

Tutoriel GitLab – FAQ

Comment créer un compte GitLab ?

Pour créer un compte, ouvrez la page d’inscription de GitLab. Saisissez des informations telles que votre nom, votre adresse électronique et votre mot de passe. Cliquez ensuite sur Continuer pour terminer. Si vous avez configuré votre dépôt GitLab en utilisant le template VPS de Hostinger, il vous suffit d’entrer le mot de passe du panel et notre système créera le compte.

Qu’est-ce qu’un dépôt GitLab ?

Dans les plateformes Git, les dépôts sont le stockage centralisé du code, des fichiers, des données et de l’historique du contrôle de version de votre projet. Spécifiquement pour GitLab, un dépôt et un projet sont interchangeables. Cela dit, un projet fait généralement référence à un stockage plus général contenant des données supplémentaires telles que les problèmes.

Comment gérer les branches dans GitLab ?

Pour gérer les branches dans GitLab, ouvrez le projet en question et allez dans la barre latérale Code Branches. A partir de ce menu, vous pouvez vérifier, créer ou supprimer des branches. Comme d’autres options de gestion se trouvent dans d’autres menus, nous vous recommandons de consulter la page de documentation de GitLab Branch.

Qu’est-ce qu’un issue tracker dans GitLab ?

La fonction de suivi des issues de GitLab vous permet de vérifier toutes les tâches de votre projet, y compris celles qui sont en cours et celles qui sont terminées. Vous pouvez également voir leurs informations importantes, comme les délais. De plus, le suivi des problèmes vous permet d’organiser les tâches en fonction de leur statut ou de leurs tags pour un flux de travail plus efficace.

Author
L'auteur

Chaimaa Chakir

Chaimaa est une spécialiste du référencement et du marketing de contenu chez Hostinger. Elle est passionnée par le marketing digital et la technologie. Elle espère aider les gens à résoudre leurs problèmes et à réussir en ligne. Chaimaa est une cinéphile qui adore les chats et l'analyse des films.