Gitlab - 3.3.4 Rédaction du premier pipeline

Apprenons maintenant à écrire un premier pipeline pour utiliser la fonctionnalité GitLab CI/CD. Il y a deux prérequis : votre code applicatif doit déjà être hébergé dans un dépôt Git (c'est notre cas), et vous devez créer un fichier YAML qui décrit le pipeline à exécuter à chaque modification du code. Ce fichier définit la structure et l'ordre des jobs, les scripts à lancer, les dépendances, les tests à exécuter avant le déploiement, l'emplacement de déploiement, etc.

Créer le fichier .gitlab-ci.yml

Le fichier à créer s'appelle .gitlab-ci.yml et doit être placé à la racine du dépôt. Vous avez deux options : le créer localement et le pousser via Git (comme nous l'avons fait pour hello.py), ou le créer directement depuis l'interface GitLab. Nous choisissons ici la seconde option, plus simple pour découvrir l'outil. Sur le tableau de bord du projet, sélectionnez d'abord la branche dev1, cliquez sur « Nouveau fichier » et saisissez précisément .gitlab-ci.yml — ce nom est obligatoire car GitLab ne cherche que ce fichier pour trouver vos pipelines CI/CD.

Toute configuration de pipeline commence par la définition d'un job. C'est obligatoire. On commence par donner un nom au job, puis on peut éventuellement préciser à quel stage il appartient avec le mot-clé stage. Si vous ne spécifiez pas de stage, GitLab assigne par défaut test. La clause script est obligatoire et contient la ou les commandes à exécuter :

job_run_code:
  stage: test
  script:
    - python hello.py
  • Nom de fichier obligatoire : .gitlab-ci.yml à la racine
  • Un job au minimum, avec sa clause script obligatoire
  • Clause stage facultative (par défaut test)
  • Plusieurs commandes possibles dans le bloc script
  • Validation = déclenchement automatique du pipeline

Notre pipeline est défini. On valide les modifications avec la branche cible dev1. Dès que GitLab détecte la présence d'un fichier .gitlab-ci.yml dans le dépôt, il déclenche automatiquement le pipeline. Dans la section CI/CD, on voit le statut « en cours d'exécution » sans avoir eu à le lancer manuellement.

La page CI/CD liste tous vos pipelines, leur statut, l'ID, la branche, l'auteur et la durée d'exécution. Une barre de recherche permet de filtrer par nom de branche, statut ou tag. En cliquant sur un pipeline, vous obtenez le détail avec une représentation graphique des jobs et stages. Comme notre pipeline n'a qu'un seul job, il n'y a qu'un seul bloc affiché ; à mesure que vous ajouterez des jobs, ils apparaîtront tous dans l'ordre défini dans votre YAML.