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
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 testQuatre jobs, lancés en parallèle : exactement le produit cartésien du jalon.
Un contrôle obligatoire
1# Réglages du dépôt → Branches → main2# ✓ Require status checks to pass before merging3# • testerUne 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 ciPourquoi : 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 restePourquoi : Une CI toujours rouge ne signale plus rien.
5Subtilités à connaître
- ◆Le cache des dépendances (
actions/cache, oucache: npmdesetup-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.