Outils & qualité · 4 mondes · 12 étapes

Tests & déploiement

Des tests qui attrapent les bugs, une chaîne qui vérifie tout, une mise en production sans frayeur.

Progression

0 %

0/12 étapes terminées

Intermédiaire · 8 min de lecture

L'intégration continue

Chaque modification passe par la chaîne

1Définition

L'intégration continue exécute automatiquement, à chaque modification, un pipeline d'étapes (installer, vérifier le style, tester, construire). Chaque étape rend un code de sortie ; le pipeline s'arrête au premier échec. Des déclencheurs décident quand il démarre, et une matrice le répète sur plusieurs environnements.

2Principes fondamentaux

01

Code de sortie 0

Zéro, c'est le succès ; tout le reste est un échec.

02

Du plus rapide au plus lent

Le style en secondes, les tests en minutes, la construction à la fin.

03

Des déclencheurs réglés

Branches, demandes de fusion, fichiers ignorés : pas de pipeline inutile.

04

Tester partout

La matrice couvre les versions de Node et les systèmes que les utilisateurs emploient.

3Exemples pratiques

Une matrice GitHub Actions

Exemple
1jobs:2  tester:3    strategy:4      matrix:5        node: [20, 22]6        os: [ubuntu-latest, windows-latest]7    runs-on: ${{ matrix.os }}8    steps:9      - uses: actions/checkout@v410      - uses: actions/setup-node@v411        with: { node-version: ${{ matrix.node }} }12      - run: npm ci && npm test

Quatre jobs, lancés en parallèle : exactement le produit cartésien du jalon.

Un contrôle obligatoire

Exemple
1# Réglages du dépôt → Branches → main2# ✓ Require status checks to pass before merging3#   • tester

Une demande de fusion ne peut plus entrer dans main si la CI est rouge.

4Erreurs courantes

npm install en CI

À éviter

- run: npm install

À faire

- run: npm ci

Pourquoi : npm install peut mettre à jour le verrou : la CI ne teste plus ce qui sera déployé.

Des secrets dans le workflow

À éviter

JETON: s3cr3t

À faire

JETON: ${{ secrets.JETON }}

Pourquoi : Le fichier du workflow est versionné et lisible par tout le dépôt.

Un pipeline ignoré

À éviter

// la CI est rouge depuis une semaine

À faire

Rouge = on répare avant tout le reste

Pourquoi : Une CI toujours rouge ne signale plus rien.

5Subtilités à connaître

  • ◆Le cache des dépendances (actions/cache, ou cache: npm de setup-node) divise souvent la durée d'un pipeline par deux.
  • ◆Les jobs indépendants tournent en parallèle ; needs: impose un ordre entre eux.
  • ◆Un pipeline doit être reproductible : mêmes versions, même verrou, aucune dépendance à l'heure ou au hasard.

6Vérifie ta compréhension

Question 1/3

Score 0

Quel code de sortie signifie succès ?

Envie d'essayer ? Ouvre le Labo et recopie les exemples pour les modifier.