🔄
methodologie

CI (Continuous Integration)

Pratique de merger fréquemment le code dans un dépôt partage avec tests automatiques.

Définition

La CI (Continuous Intégration / Intégration Continue) est une pratique de développement logiciel ou les développeurs mergent fréquemment leur code dans un dépôt partage (au moins quotidiennement). Chaque merge declenche automatiquement un build et une suite de tests, fournissant un feedback rapide sur la qualité du code.

La CI est l'un des piliers du DevOps et de l'agilite moderne.

Principes fondamentaux

  1. Commits fréquents : chaque développeur commit au moins une fois par jour
  2. Build automatique : chaque push declenche un build
  3. Tests automatises : tests unitaires, intégration et linting à chaque build
  4. Feedback rapide : les résultats sont visibles en quelques minutes
  5. Correction immédiate : un build casse est la priorité n°1 de l'équipe

Pipeline CI typique

Push → Checkout → Install deps → Lint → Type check → Unit tests → Build → Integration tests

Exemple (GitHub Actions)

name: CI
on: [push, pull_request]

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: 22
      - run: npm ci
      - run: npm run lint
      - run: npm run typecheck
      - run: npm test
      - run: npm run build

Benefices mesurables

  • Détection precoce des bugs (heures au lieu de jours/semaines)
  • Réduction des conflits de merge (commits petits et fréquents)
  • Confiance dans le code (tests automatiques à chaque changement)
  • Vitesse de livraison accrue (base de code toujours déployable)

Métriques CI

  • Build success rate : pourcentage de builds reussis (cible : >95%)
  • Build duration : durée du pipeline (cible : <10 minutes)
  • Mean Time To Recovery (MTTR) : temps pour corriger un build casse
  • Code coverage : pourcentage de code couvert par les tests

Outils CI populaires

Outil Type Particularite
GitHub Actions SaaS Integre à GitHub, YAML
GitLab CI SaaS/self-hosted Integre à GitLab
Jenkins Self-hosted 1800+ plugins, flexible
CircleCI SaaS Rapide, Docker-native
Travis CI SaaS Historique open source

Besoin d'aide technique ?

Decrivez votre projet pour des conseils personnalises par nos experts.

Recevoir des conseils

Questions fréquentes

CI ou CD : quelle difference ?
CI (Continuous Integration) est le build + tests automatiques a chaque commit. CD (Continuous Delivery/Deployment) est le deploiement automatise en production. CI est le prerequis du CD.
Combien de temps doit durer un pipeline CI ?
Idealement moins de 10 minutes. Au-dela, les developpeurs n'attendent pas le resultat et passent a autre chose. Utilisez le cache, le parallelisme et les tests incrementaux pour accelerer.
Faut-il bloquer le merge si le CI echoue ?
Oui, absolument. Configurez les branch protection rules pour empecher le merge si le CI echoue. C'est la regle n°1 de la CI.

Pages liées

Chaque semaine, le meilleur de la tech française

Tendances, salaires, outils et opportunités — directement dans votre boîte mail.

Gratuit. Desabonnement en un clic. Pas de spam.