En une phrase

Jenkins est un outil open source qui automatise les étapes répétitives du développement — lancer les tests, construire l'application, et la déployer — sans qu'un humain touche quoi que ce soit.


Pourquoi c'est utile ?

Sans Jenkins (ou un outil similaire), chaque développeur doit manuellement lancer les tests, vérifier le code, et déployer. C'est lent, sujet aux erreurs, et difficile à maintenir en équipe. Jenkins fait tout ça automatiquement à chaque modification de code.


L'essentiel

Jenkins est ce qu'on appelle un serveur d'automatisation. Il surveille votre dépôt Git et réagit chaque fois que quelqu'un pousse du code.


Ce que Jenkins fait concrètement

Quand un développeur fait git push, Jenkins :

  1. Détecte qu'un nouveau commit vient d'être poussé
  2. Récupère le code sur le serveur Jenkins
  3. Lance les tests automatiques
  4. Construit l'application (compile le code, crée une image Docker...)
  5. Déploie si tout est bon — ou alerte l'équipe si ça échoue

Tout ça se passe en quelques minutes, automatiquement.


Le Jenkinsfile — la recette du pipeline

Dans Jenkins, on définit un pipeline dans un fichier appelé Jenkinsfile. Ce fichier vit dans votre dépôt Git, à côté du code.

pipeline {
    agent any
    stages {
        stage('Tests') {
            steps {
                sh 'npm test'
            }
        }
        stage('Build') {
            steps {
                sh 'npm run build'
            }
        }
        stage('Deploy Staging') {
            steps {
                sh './deploy-staging.sh'
            }
        }
    }
}

Ce fichier dit à Jenkins : "À chaque push, lance les tests, puis construis, puis déploie en staging."


Jenkins vs GitHub Actions

Jenkins est puissant mais nécessite un serveur dédié que vous gérez vous-même. GitHub Actions est intégré à GitHub et ne nécessite aucune infrastructure.

Jenkins GitHub Actions
Installation Serveur dédié à gérer Intégré à GitHub
Fichier config Jenkinsfile .github/workflows/
Coût Gratuit (mais serveur à payer) Gratuit (avec limites)
Utilisation Grandes entreprises Startups, open source
Flexibilité Très élevée Élevée

Pour une startup qui héberge son code sur GitHub, GitHub Actions est souvent plus simple au démarrage. Jenkins est privilégié dans les grandes organisations avec des besoins complexes.


Les autres outils CI/CD populaires

Outil Particularité
GitHub Actions Intégré à GitHub, très populaire
GitLab CI Intégré à GitLab
CircleCI Simple, basé sur le cloud
Travis CI Historiquement populaire pour l'open source
Jenkins Très flexible, self-hosted

Exemple concret

Une équipe de 5 développeurs à Brazzaville travaille sur une application de gestion scolaire.

Sans Jenkins : - Chaque développeur lance manuellement les tests sur son ordinateur - Quelqu'un oublie de les lancer avant de pousser du code - Le bug arrive en production — les parents ne peuvent plus voir les notes de leurs enfants

Avec Jenkins : - Chaque push déclenche automatiquement le pipeline - Si les tests échouent, Jenkins bloque le déploiement et envoie un email à l'équipe - Le bug est détecté avant d'atteindre les utilisateurs - Le temps économisé par semaine : plusieurs heures. Les bugs en production : réduits drastiquement.


À retenir

  • Jenkins est un serveur d'automatisation — il exécute tests, builds, et déploiements sans intervention humaine
  • On configure Jenkins avec un fichier Jenkinsfile dans le dépôt Git
  • Un pipeline = une série d'étapes automatiques déclenchées par un push Git
  • Jenkins est surtout utilisé dans les grandes entreprises ; les startups préfèrent souvent GitHub Actions
  • L'objectif est le même : ne jamais déployer du code non testé en production

Prochaine étape

Découvrez comment le code, une fois testé et validé par Jenkins ou GitHub Actions, est déployé sur un serveur et devient accessible aux utilisateurs du monde entier.