Comment démarrer avec la console Rails de GitLab pour l'administration avancée
Agence web » Actualités du digital » Comment démarrer avec la CLI de GitLab pour gérer DevOps depuis votre terminal

Comment démarrer avec la CLI de GitLab pour gérer DevOps depuis votre terminal

GitLab est l’une des principales solutions de contrôle de code source et CI/CD pour les équipes de livraison de logiciels modernes. Il fournit un ensemble complet de fonctionnalités pour la planification, la création et la livraison de vos projets logiciels.

GitLab interagit normalement avec son interface utilisateur Web ou son API. Aucune de ces options n’est particulièrement attrayante pour les développeurs centrés sur les terminaux. Heureusement, GitLab dispose également d’une CLI qui fournit un accès direct à vos problèmes, demandes de fusion, pipelines et autres ressources, juste à côté de votre code et d’autres commandes shell. Cet article vous montrera les bases.

Qu’est-ce que le Glab ?

Le glab GitLab CLI a été lancé par Clement Sam en tant que projet dirigé par la communauté. Il a depuis été adopté par GitLab, recevant sa première version officielle dirigée par GitLab en décembre 2022. À l’avenir, il continuera d’être maintenu par GitLab et la communauté au sens large en tant qu’outil open source.

Glab prend actuellement en charge les interactions avec les fonctionnalités GitLab suivantes :

  • Problèmes
  • Demandes de fusion
  • Pipelines
  • Communiqués
  • Référentiels
  • Étiquettes
  • Extraits

Vous pouvez récupérer des données existantes à partir de votre compte GitLab, créer de nouveaux éléments et effectuer des actions telles que vérifier l’état d’un pipeline et approuver une demande de fusion. Il est possible de s’authentifier auprès de plusieurs instances GitLab simultanément, y compris GitLab.com et vos serveurs auto-hébergés.

Premiers pas avec Glab

Avant de commencer à utiliser Glab, créez un jeton d’accès personnel pour votre compte GitLab qui inclut le api et write_repository étendues. Glab utilisera ce jeton pour effectuer des actions en votre nom.

Cliquez sur l’icône de votre profil en haut à droite de l’interface utilisateur GitLab, puis choisissez « Access Tokens » dans le menu de gauche. Donnez un nom à votre jeton et sélectionnez le api et write_repository étendues de la liste. Faites défiler la page et cliquez sur le bouton « Créer un jeton d’accès personnel ». La valeur du jeton sera affichée – notez-la maintenant, car vous ne pourrez plus la récupérer à l’avenir.

image de la création d'un jeton d'accès personnel dans GitLab

Ensuite, vous devez installer Glab. Vous pouvez télécharger des fichiers binaires prédéfinis pour les systèmes Windows, macOS et Linux à partir de la page GitLab Releases du projet. Glab est également distribué pour plusieurs gestionnaires de packages populaires sur tous les systèmes d’exploitation pris en charge.

Une fois Glab installé, vous pouvez vous authentifier auprès de votre instance GitLab en exécutant le auth login commande. Cela lancera une série d’invites interactives qui vous permettront de choisir entre GitLab.com ou une instance auto-hébergée. Après avoir fourni les détails de l’instance, vous pourrez entrer le jeton d’accès personnel que vous avez créé précédemment.

Ensuite, il vous sera demandé de confirmer le protocole par défaut à utiliser pour les opérations Git. Vous pouvez généralement accepter la valeur automatiquement sélectionnée. SSH est préférable, mais certains environnements peuvent nécessiter Git sur HTTPS. L’invite suivante vous demande si Glab doit authentifier les opérations Git à l’aide du même jeton d’accès personnel que vous avez fourni précédemment. C’est généralement le comportement souhaité.

Enfin, si vous utilisez une instance GitLab auto-hébergée, vous serez invité à choisir entre les protocoles HTTP et HTTPS pour accéder à l’API GitLab. Choisissez HTTPS, sauf si vous savez que votre instance ne prend en charge que HTTP.

À la fin de la séquence, vous devriez recevoir un message de réussite « Connecté ».

image de connexion à Glab

Se connecter à une autre instance GitLab

Vous pouvez vous connecter à une autre instance GitLab en répétant le auth login commande. En cours auth status émettra une liste de tous les terminaux que vous avez configurés.

Utilisation de Glab

Glab est destiné à être exécuté à partir du répertoire de travail de votre projet. Commencez par cd-ing dans un répertoire contenant un référentiel Git. Les commandes Glab sélectionneront désormais automatiquement l’instance GitLab et le jeton d’authentification corrects, en fonction de la télécommande Git par défaut du projet.

Ce modèle permet une utilisation transparente des projets à partir de plusieurs instances GitLab. Tu peux courir git et glab commandes pendant que vous travaillez, simplement en entrant un répertoire de projet. Il est possible d’utiliser Glab en dehors d’un projet, cependant, en définissant le GITLAB_TOKEN et GITLAB_URI (ou alors GITLAB_HOST) variables d’environnement dans votre shell, puis en spécifiant les --repo flag avec vos commandes pour identifier le projet cible (en OWNER/REPO format). Cela vous permet d’utiliser facilement Glab dans des scripts automatisés, par exemple.

Problèmes

Répertoriez les problèmes de votre projet avec le issues list commande:

$ glab issues list
Showing 3 open issues in ilmiont/ardeidae that match your search (Page 1)

#376  ilmiont/ardeidae#376  Console Input allow accessing full standard input string    about 1 month ago  
#374  ilmiont/ardeidae#374  Basis support construction via compound typehints           about 11 months ago
#373  ilmiont/ardeidae#373  v3.1.0 unit tests                                           about 11 months ago

Utilisez le --page flag pour passer aux pages suivantes dans le jeu de résultats. 20 éléments sont affichés par page par défaut ; cela peut être changé avec le --per-page drapeau.

Plusieurs drapeaux de filtrage sont pris en charge. La commande suivante récupère tous les problèmes fermés avec l’étiquette P1, qui se trouvent dans le jalon v3.1.0 et qui vous sont attribués :

$ glab issue list --mine --milestone v3.1.0 --label P1 --closed

Cours glab issue list --help pour en savoir plus sur tous les drapeaux pris en charge.

Obtenez des informations détaillées sur un problème spécifique avec issue view:

$ glab issues view 376
open • opened by ilmiont about 1 month ago
Console Input allow accessing full standard input string #376

   php://input                                                                



0 upvotes • 0 downvotes • 0 comments
Milestone: v3.1.0

Pour récupérer les commentaires d’un ticket, ajoutez le --comments drapeau à la commande. Les commentaires seront paginés, comme le issue list commande.

Vous pouvez ouvrir la page de l’interface utilisateur Web pour un problème dans votre navigateur par défaut :

$ glab issue view 376 --web

Des notes (commentaires) peuvent être créées pour des problèmes avec le note commande. Le -m flag spécifie le texte Markdown pour la note :

$ glab issue note 376 -m "This is no longer relevant"

Fermer et rouvrir les problèmes avec le close et reopen commandes respectivement :

$ glab issue close 376
$ glab issue reopen 376

Pour créer un nouveau problème, exécutez le create commandez et passez les drapeaux appropriés :

$ glab issue create 
    --title "New Issue" 
    --description "Demo issue" 
    --milestone "v3.1.0"

Vous serez invité à confirmer la création du problème. Vous pouvez ignorer cela en réglant le -y ou alors --yes drapeau. De nombreux autres indicateurs sont pris en charge pour définir toutes les propriétés du problème. Essayez de courir glab issue create --help pour explorer les options.

Demandes de fusion

Les interactions de base des demandes de fusion sont similaires à celles des problèmes. Utilisez le list et view commandes pour récupérer les détails des demandes de fusion existantes. Le approve, closeet merge les commandes appliquent ces actions respectives au MR :

$ glab mr merge 100

Les commandes de demande de fusion acceptent soit un ID, soit une branche source comme argument. Vous pouvez fusionner le MR pour demo-branch dans votre branche principale à l’aide de la commande suivante :

$ glab mr merge demo-branch

Vous pouvez visualiser les modifications contenues dans un MR avec le bouton diff commande:

$ glab mr diff 100

La sortie diff colorisée sera affichée dans votre terminal au format Git.

Il est également possible de vérifier localement et de basculer vers la branche source d’une demande de fusion, sans exécuter manuellement les commandes Git :

$ glab mr checkout 100

Pipelines CI

Afficher les résultats du pipeline pour votre projet en exécutant ci list:

$ glab ci list
Showing 3 pipelines on ilmiont/ardeidae (Page 1)

(success) • #734  3.1.0-rc42                                                     (about 9 days ago) 
(success) • #733  master                                                         (about 9 days ago) 
(success) • #732  Dbal-store-allow-upsert                                        (about 9 days ago)

Le view La commande permet d’accéder aux résultats de la tâche pour le dernier pipeline sur la branche par défaut ou sur une branche spécifique. Un nouvel écran de terminal affichera les étapes du pipeline :

$ glab ci view
$ glab ci view -b demo-branch

image de l'affichage de l'état d'un pipeline CI dans Glab

Pour déclencher une nouvelle exécution de pipeline, exécutez le glab run commande:

$ glab ci run

Vous pouvez spécifier la branche à partir de laquelle sourcer le pipeline :

$ glab ci run -b demo-branch

Il est également possible de définir des variables CI pour l’exécution :

$ glab ci run --variables demo-var:demo-val,another-var:another-val

Vous pouvez accéder aux journaux d’un travail en exécutant le ci trace commande et en utilisant l’invite interactive pour sélectionner le travail cible. Des artefacts sont également disponibles : le ci artifact télécharge les artefacts à partir du dernier pipeline, soit pour la branche par défaut, soit pour une branche spécifiée identifiée par le -b drapeau.

Enfin, Glab comprend un linter intégré pour le .gitlab-ci.yml fichier dans votre répertoire de travail. Cela vous permet de vérifier facilement la validité de votre pipeline, sans copier et coller le fichier dans l’interface utilisateur Web GitLab.

$ glab ci lint
Getting contents in .gitlab-ci.yml
Validating...
✓ CI yml is Valid!

Requêtes API arbitraires

Les commandes de Glab sont des wrappers autour des points de terminaison de l’API GitLab existants. Alors que plusieurs API sont prises en charge de manière native, beaucoup d’autres doivent encore être implémentées en tant que commandes. L’appel direct de l’API peut être fastidieux car vous devez fournir votre jeton d’accès personnel en définissant manuellement les en-têtes de requête.

Glab inclut une commande utilitaire pour effectuer des requêtes authentifiées arbitraires auprès de l’API. Le glab api La commande accepte un URI relatif à demander dans le contexte de votre instance GitLab active. L’exemple suivant obtient les balises Git associées au projet avec l’ID de 1:

$ glab api projects/1/repository/tags

Les données brutes de réponse de l’API seront émises vers votre terminal au format JSON.

Définissez la méthode HTTP pour la requête à l’aide de la -X ou alors --method drapeau. Vous pouvez fournir des données de corps de demande avec le -F ou alors --field drapeau:

$ glab api projects/1/repository/tags -X POST --field tag_name=demo --field ref=main

Vous pouvez inclure des en-têtes de demande personnalisés en définissant le -H ou alors --header drapeau.

Utiliser des alias

Glab prend en charge les alias de commande personnalisés afin que vous puissiez accéder rapidement aux fonctionnalités couramment utilisées.

Créez un nouvel alias en exécutant le alias set commande:

$ glab alias set issues "issue list"
- Adding alias for issues: issue list
✓ Added alias.

Vous pouvez maintenant répertorier les problèmes de votre projet en exécutant glab issues:

$ glab issues
Showing 3 open issues in ilmiont/ardeidae that match your search (Page 1)

#376  ilmiont/ardeidae#376  Console Input allow accessing full standard input string    about 1 month ago  
#374  ilmiont/ardeidae#374  Basis support construction via compound typehints           about 11 months ago
#373  ilmiont/ardeidae#373  v3.1.0 unit tests                                           about 11 months ago

Lister tous les alias que vous avez créés avec alias list:

$ glab alias list
ci      pipeline ci
co      mr checkout
issues  issue list

Supprimer un alias en exécutant alias delete et en passant son nom :

$ glab alias delete issues

Utiliser Glab pour gérer DevOps

Glab est la CLI officielle de GitLab. Il vous permet de gérer l’ensemble du processus DevOps depuis votre terminal. Vous pouvez créer des problèmes, attribuer des tâches, examiner les demandes de fusion, déclencher des pipelines CI et des versions de balises, sans avoir à basculer entre les outils ou à apprendre l’API GitLab. Cela réduit le changement de contexte et facilite l’automatisation de vos workflows les plus courants.

L’accès aux données GitLab parallèlement à votre code et aux opérations Git vous permet de rester concentré sur la tâche à accomplir. La CLI est également plus rapide à utiliser que l’interface utilisateur Web, si vous êtes à l’aise avec le travail dans un terminal. C’est une troisième interface précieuse pour votre instance GitLab, en plus de l’interface utilisateur et de l’API.

Bien que cet article ait couvert les bases de l’utilisation de Glab pour les tâches courantes, vous pouvez également explorer bien d’autres choses. Consultez la documentation ou essayez d’exécuter glab help et glab <COMMAND> --help pour explorer toutes les fonctionnalités disponibles.

Maintenant que Glab est entièrement intégré en tant que projet GitLab natif, un développement supplémentaire est promis pour prendre en charge des flux de travail supplémentaires et mettre en œuvre les demandes de la communauté. Vous pouvez fournir vos commentaires à GitLab en ouvrant un problème dans le référentiel du projet.

★★★★★