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 :
| Type | Ce qu'il fait |
|---|---|
shell_command | Exécute un script shell |
docker | Build, run, push ou pull d'une image Docker |
git | Clone, checkout, pull, tag ou push |
test | Exécute une suite de tests (Jest, Pytest, Vitest, etc.) |
build | Construit un artefact (npm, Maven, Cargo, etc.) |
deploy | Déploie vers une cible (Kubernetes, AWS, SSH, etc.) |
notification | Envoie 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 :
| Type | Quand il se déclenche |
|---|---|
push | Sur un push vers les branches spécifiées |
pull_request | Sur une pull request ciblant les branches spécifiées |
schedule | Selon un planning cron |
tag | Sur un nouveau tag correspondant à un motif |
manual | Uniquement sur déclenchement manuel |
