Maîtriser la CLI

logo-gitlab.0oqT5avN_E9DgD.webp

Nous connaissons tous l’importance des outils qui optimisent notre travail. Parmi ces outils, la CLI de GitLab CI/CD, anciennement glab, est pour moi une des plus importantes.

Ce qui rend glab si important, c’est sa capacité à offrir presque toutes les fonctionnalités de GitLab directement depuis la ligne de commande. Cette approche est idéale pour les utilisateurs qui préfèrent une interface en ligne de commande, plus rapide et plus scriptable, par rapport à l’interface graphique web de GitLab. Avec glab, vous pouvez gérer les projets, les issues, les merge requests et bien plus encore.

Installation et Configuration de glab

Pour profiter pleinement de glab, la première étape consiste à l’installer et à le configurer correctement sur votre système.

Installation de glab

Sur Linux

Si vous êtes un utilisateur de Linux, l’installation de glab peut se faire facilement avec asdf-vm :

Sur Alpine Linux

Idéal pour intégrer la cli de gitlab dans vos Dockerfiles pour vos runs de Pipeline. Cela va vous ouvrir des portes que vous n’aviez pas imaginées :

Sur macOS

Pour les utilisateurs de macOS, glab peut être installé via Homebrew. Ouvrez simplement votre terminal et tapez :

Sur Windows

Sous Windows, glab peut être installé à l’aide de Scoop ou de Chocolatey. Avec Chocolatey, la commande est la suivante :

Les Principales Fonctionnalités de la CLI Gitlab

glab offre une suite complète d’options qui permettent une gestion efficace des projets GitLab. Voici une liste des principales commandes disponibles dans glab, chacune accompagnée d’une brève description de sa fonction :

  1. alias : Permet de créer des alias pour les commandes glab, simplifiant ainsi l’utilisation des commandes fréquentes.
  2. api : Offre un accès direct à l’API de GitLab, permettant d’effectuer des requêtes API personnalisées.
  3. auth : Utilisée pour l’authentification et la configuration de vos identifiants GitLab dans glab.
  4. check-update : Vérifie si une nouvelle version de glab est disponible.
  5. ci : Permet de gérer les pipelines de CI (Continuous Integration), y compris leur création, visualisation et suppression.
  6. completion : Génère des scripts d’auto-complétion pour différents shells, facilitant la saisie des commandes glab.
  7. config : Utilisée pour configurer les paramètres globaux de glab.
  8. incident : Permet de gérer les incidents, notamment leur création, mise à jour et fermeture.
  9. issue : Fournit des outils pour gérer les issues, incluant la création, la liste, la mise à jour et la fermeture.
  10. label : Permet de gérer les labels pour les issues et les merge requests.
  11. mr : Fournit des commandes pour gérer les merge requests, y compris leur création, liste, mise à jour et fusion.
  12. release : Permet de gérer les releases, incluant leur création, listage et suppression.
  13. repo : Offre des outils pour gérer les dépôts GitLab, y compris la création, le clonage et la gestion des branches.
  14. schedule : Permet de gérer les pipelines planifiés (scheduled pipelines).
  15. snippet : Fournit des commandes pour créer et gérer des extraits de code (snippets).
  16. ssh-key : Permet de gérer les clés SSH associées à votre compte GitLab.
  17. user : Offre des outils pour visualiser et gérer les informations utilisateur sur GitLab.
  18. variable : Permet de gérer les variables de CI/CD au niveau du projet ou du groupe.

Chacune de ces commandes est conçue pour intégrer GitLab de manière plus profonde dans votre flux de travail DevOps, en rendant la gestion de vos projets, issues, merge requests et CI/CD plus efficace et automatisée.

Configuration de glab

Une fois glab installé, la prochaine étape est de le configurer pour se connecter à votre compte GitLab. Cette connexion est essentielle pour permettre à glab d’interagir avec vos projets GitLab.

Les commandes de configuration

Authentification avec glab auth

La commande glab auth est utilisé pour l’authentification avec GitLab. Elle permet de configurer vos identifiants pour une intégration transparente avec vos projets GitLab.

Authentification Interactive :

Tapez la commande suivante :

Suivez les instructions pour entrer le token d’accès personnel. Choisissez l’instance GitLab (GitLab.com ou instance auto-gérée).

Authentification Non-Interactive :

Utilisez la variable GITLAB_TOKEN pour une authentification sans interaction, idéale pour les scripts ou les environnements CI/CD.

Pour vérifier que tout est correctement configuré, vous pouvez utiliser la commande suivante :

Ici un problème d’authentification.

Gestion des Paramètres Globaux avec glab config

glab config permet de personnaliser, set l’utilisation de glab en configurant des paramètres globaux.

Pour afficher les paramètres, il faut utiliser l’option get :

Gestion des Clés SSH avec glab ssh-key

La commande glab ssh-key aide à gérer les clés SSH pour sécuriser vos opérations Git.

Configuration de l’Auto-Complétion glab completion

La commande glab completion de la CLI GitLab permet de générer des fichiers de configuration pour activer la complétion automatique (auto-complétion) dans différents shells, facilitant ainsi l’utilisation de la CLI GitLab.

Bash

Intégrez-le dans votre configuration Bash en ajoutant :

à votre fichier ~/.bashrc.

Zsh

Ajoutez ce script à votre fichier de configuration Zsh (~/.zshrc) :

Fish

Intégrez-le dans votre configuration Fish en ajoutant :

Les variables d’environnement

L’utilisation de glab peut être personnalisée à travers diverses variables d’environnement et commandes de configuration.

Les Commandes Générales glab

Les commandes générales sont celles qui ne sont pas spécifiques aux repositories. Elles fonctionnent même si elles ne sont pas exécutées depuis un répertoire contenant un projet gitlab.

Une Nouvelle Version ? glab check-update

La commande update permet de vérifier si une nouvelle version de glab est disponible.

Gestion des Repositories avec glab repo

La commande glab repo est essentielle pour gérer les repositories sur GitLab, offrant de nombreuses options pour une gestion efficace.

Exemples de commande :

glab repo list
Showing 30 of 57 projects (Page 1 of 2)


mon-site1/docusaurus git@gitlab.com:mon-site1/docusaurus.git
dockerfiles6/images/container-structure-test git@gitlab.com:dockerfiles6/images/container-st...
Bob74/aws-blog git@gitlab.com:Bob74/aws-blog.git
dockerfiles6/images/demo-cosign git@gitlab.com:dockerfiles6/images/demo-cosign.git
glab repo search -s docker
Showing results for "docker"
� nexylan/docker/docker On steroids Docker image. 0 stars 0 forks 0 issues updated about 19 days ago
https://gitlab.com/nexylan/docker/docker
� jitesoft/dockerfiles/docker Docker image with docker and 0 stars 0 forks 0 issues updated about 2 months ago
docker in docker! https://www.docker.com/
https://gitlab.com/jitesoft/dockerfiles/docker

En vrac :

Les requêtes d’API avec glab api

La commande glab api permet de lancer des requêtes à l’API GitLab.

Requetes Standards

La requête glab api permet de lancer des call sur l’API de Gitlab. Vous pouvez retrouver les endpoints d’API sur la documentation

Requêtes GraphQL

glab api supporte l’utilisation de GraphQL, un langage de requête puissant pour les APIs. Avec l’option GraphQL, vous pouvez :

Voici comment vous pourriez utiliser glab api pour effectuer une requête GraphQL :

Ce type de requête permet une interaction profonde avec les données de GitLab, offrant une flexibilité et une puissance bien supérieures aux requêtes API REST classiques.

Les commandes spécifiques aux projets

Les commandes décrites ci-dessous ne fonctionnent que si elles sont exécutées depuis un répertoire contenant un repository gitlab.

Gestion des Labels avec glab label

glab label est une commande clé pour la gestion des labels dans les projets GitLab, offrant diverses options pour une organisation efficace des issues et des merge requests.

Voici la liste des principales options :

Ces options facilitent la création, la visualisation, la modification et la suppression de labels, permettant ainsi une meilleure organisation et catégorisation des éléments de travail dans vos projets GitLab.

Gestion des Issues avec glab issue

La commande glab issue fournit un ensemble complet d’outils pour gérer les issues dans vos projets GitLab.

Voici la liste des principales options :

Exemples :

Gestion des Merge Requests avec glab mr

glab mr est une commande qui permet de gérer les merge requests dans GitLab, offrant une large gamme d’options pour une gestion efficace.

Voici la liste des principales options :

Ces options permettent une gestion complète et flexible des merge requests dans vos projets GitLab. Chacune de ces options offre une flexibilité et un contrôle précis sur la gestion des merge requests, essentiels pour une collaboration et une intégration de code efficaces dans vos projets GitLab.

Gestion des Incidents avec glab incident

glab incident offre des commandes spécifiques pour gérer efficacement les incidents dans vos projets GitLab.

Ces options permettent un suivi et une gestion complets des incidents, essentiels pour la résolution rapide et efficace des problèmes critiques.

Gestion des Releases avec glab release

La commande glab release fournit un ensemble d’outils pour la gestion des releases dans vos projets GitLab.

Ces commandes couvrent l’ensemble du cycle de vie d’une release, de sa création à sa suppression, en facilitant la distribution et la gestion des versions dans vos projets GitLab.

Création de snippets avec glab snippet

La commande glab snippet est un outil puissant pour gérer les extraits de code (snippets) dans GitLab, permettant un partage et une collaboration efficaces sur des morceaux de code ou des informations techniques.

Exemple :

Lister les événements avec glab user events

La commande glab user events est spécialement conçue pour suivre les activités et les événements associés à un utilisateur GitLab. Elle est particulièrement utile pour surveiller l’engagement et les contributions au sein d’un projet ou à travers plusieurs projets sur GitLab.

Cette commande peut être utilisée pour suivre les contributions récentes d’un utilisateur, comme les commits, les merge requests et les commentaires sur les issues.

Les commandes pour les pipelines

Gestion des Pipelines avec glab ci

La commande glab ci est essentielle pour gérer les aspects de l’intégration continue (CI) dans GitLab, offrant un large éventail de fonctionnalités pour optimiser et surveiller les pipelines CI.

Une option importante qui permet d’indiquer un autre repository :

Les principales options :

Ces commandes permettent une gestion complète et efficace des pipelines CI, depuis leur création jusqu’à leur surveillance, en passant par l’optimisation et le débogage.

Planifier des pipelines avec glab schedule

La commande glab schedule est conçue pour gérer les pipelines planifiés dans GitLab, permettant une automatisation et une planification efficaces des tâches CI/CD.

Ces commandes offrent une gestion complète des pipelines planifiés, de leur création à leur suppression, en passant par leur exécution et leur surveillance.

Cas d’Usage de glab

L’utilisation de glab dans ces contextes permet d’optimiser les workflows, d’augmenter l’efficacité et de réduire les délais de développement et de déploiement.

Utilisation sur le Poste de Travail

Sur le poste de travail d’un développeur ou d’un administrateur système, glab permet une interaction rapide et efficace avec GitLab.

Utilisation dans les Pipelines CI/CD

glab est particulièrement utile dans les pipelines CI/CD pour automatiser diverses tâches liées à GitLab.


Created 2025-02-03 18:04:13 UTC by Nicolas
Updated 2025-02-03 18:09:18 UTC by Nicolas