Comment structurer un pipeline de CI/CD | CodeFirst Allez directement au contenu

Comment structurer un pipeline de CI/CD

Définir un pipeline

Un pipeline doit définir au moins une étape dans le bloc stages.

Par exemple, vous pouvez utiliser ces étapes pour structurer votre pipeline :

.gitlab-ci.yml
stages:
- 🏗️build
- 🧪tests
- 📦push
- 🚀deploy

Évidemment, vous pouvez changer le nom des étapes, en ajouter plus ou moins.

Définir des jobs dans un pipeline

Un pipeline est constitué de jobs (jobs). Une job représente une action spécifique d’un pipeline, par exemple une job de construction, une job de test, une job de déploiement… Les jobs sont définies à la racine de votre pipeline. Elles doivent toutes avoir un nom différent.

Une job doit avoir :

  • une valeur stage (cette valeur doit être une des valeurs listées dans les éléments stages).
  • une image (vous pouvez choisir une image construite sur codefirst ou également une image publique d’un Hub).
  • un stage, dans la vue GitLab cela représentera la colonne du pipeline de votre job.

Vous pouvez partir du template suivant :

job-name: # Obligatoire, nom du job
stage: 🏗️build # Obligatoire
image:
name: $CI_REGISTRY/iut_inf63/base-cicd/documentation-builder:main # Obligatoire, l'image docker qui exécutera le script du job
entrypoint: [ "" ] # Optionnel, pour surcharger l'entrypoint/commande de l'image (seulement si nécessaire)
script:
- mkdir test # Partie script de votre job.
artifacts: # Optionnel, utilisez ceci pour transmettre des fichiers à une autre job
paths:
- relative-path/
when: manual # Optionnel, déclencheur du job (référez-vous à la [documentation officielle](https://docs.gitlab.com/ci/jobs/job_rules/) pour écrire des règles spécifiques)

Vous pouvez également ajouter des variables locales à une job ou directement à l’ensemble du pipeline :

variables:
TEST: value