Skip to content

Concepts fondamentaux

Avant de construire votre premier pipeline, il est utile de comprendre comment pipel8ne modélise les workflows CI/CD.

Les quatre niveaux

Projet

Un projet est un conteneur logique qui regroupe des pipelines liés. En général, un projet = un dépôt ou une application.

Les projets ont un paramètre de visibilité :

  • Privé — visible uniquement par vous
  • Public — visible par tous les utilisateurs de l'instance

Pipeline

Un pipeline est un graphe orienté de stages. Il possède un déclencheur (ce qui le démarre) et un statut :

  • Brouillon — en cours de conception ; le déclencheur est optionnel ; ne peut pas être activé
  • Actif — possède un déclencheur configuré et est prêt pour l'export

Stage

Un stage est un groupe nommé de jobs qui s'exécutent ensemble. Les stages sont reliés par des arêtes de dépendance qui définissent l'ordre d'exécution.

Tous les jobs au sein d'un stage s'exécutent en parallèle sauf si vous ajoutez des arêtes entre eux.

Job

Un job s'exécute sur un runner spécifique (ex. ubuntu-latest, self-hosted). Il contient une liste de steps qui s'exécutent séquentiellement.

Step

Un step est la plus petite unité de travail. Son type détermine ce qu'il fait :

TypeCe qu'il fait
shell_commandExécute un script shell
dockerBuild, run, push ou pull d'une image Docker
gitClone, checkout, pull, tag ou push
testExécute une suite de tests (Jest, Pytest, Vitest, etc.)
buildConstruit un artefact (npm, Maven, Cargo, etc.)
deployDéploie vers une cible (Kubernetes, AWS, SSH, etc.)
notificationEnvoie un message (Slack, Teams, email, Discord)

Le canvas

L'éditeur visuel possède trois niveaux de canvas. Vous naviguez en approfondissant :

Déclencheurs

Un déclencheur définit quand le pipeline s'exécute :

TypeQuand il se déclenche
pushSur un push vers les branches spécifiées
pull_requestSur une pull request ciblant les branches spécifiées
scheduleSelon un planning cron
tagSur un nouveau tag correspondant à un motif
manualUniquement sur déclenchement manuel

Released under the MIT License.