• 1. pipeline ci/cd pour microservice Node.js avec Jenkins et Docker

  • 1.1. Préparer votre microservice Node.js

  • 1.2. Installer et configurer Jenkins

  • 1.3. Créer le Jenkinsfile

  • 1.4. Automatiser les tests avec Jest

  • 1.5. Déploiement final

  • 2. bonnes pratiques

  • 3. conclusion

pipeline ci/cd pour microservice node.js avec jenkins et docker

Image de pipeline ci/cd pour microservice node.js avec jenkins et docker

Mettre en place un pipeline CI/CD robuste permet de livrer votre microservice Node.js plus vite, sans régression et en toute confiance. Dans ce guide, nous verrons comment automatiser le build, les tests et le déploiement d’un microservice grâce à Jenkins et Docker. Vous suivrez toutes les étapes, du Dockerfile au Jenkinsfile, y compris l’intégration des tests et le push vers un registre Docker.

pipeline ci/cd pour microservice Node.js avec Jenkins et Docker

1. Préparer votre microservice Node.js

Commencez par un projet basique :

mkdir my-service && cd my-service
npm init -y
npm install express --save

Ajoutez un server.js exposant une route simple :

const express = require('express');
const app = express();
app.get('/', (req, res) => res.send('Hello CI/CD!'));
app.listen(3000, () => console.log('Live on 3000'));

Exemple de Dockerfile

FROM node:18-alpine
WORKDIR /usr/src/app
COPY package*.json ./
RUN npm ci --only=production
COPY . .
EXPOSE 3000
CMD ["node", "server.js"]

2. Installer et configurer Jenkins

Sur un serveur Debian/Ubuntu, installez Jenkins LTS :

sudo apt update
sudo apt install -y openjdk-11-jre
wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -
sudo sh -c 'echo deb https://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
sudo apt update
sudo apt install -y jenkins
sudo systemctl start jenkins

Installez ensuite les plugins « Docker Pipeline » et « Git » via l’interface Jenkins.

3. Créer le Jenkinsfile

Placez ce fichier à la racine de votre repo pour définir votre pipeline en tant que code :

pipeline {
  agent any
  environment {
    REGISTRY   = 'myorg/my-service'
    IMAGE_TAG  = "${env.BRANCH_NAME}-${env.BUILD_NUMBER}"
  }
  stages {
    stage('Checkout') {
      steps { checkout scm }
    }
    stage('Install') {
      steps { sh 'npm ci' }
    }
    stage('Test') {
      steps { sh 'npm test' }
    }
    stage('Build Docker') {
      steps { sh 'docker build -t $REGISTRY:$IMAGE_TAG .' }
    }
    stage('Push') {
      steps {
        withCredentials([string(credentialsId: 'docker-hub-token', variable: 'TOKEN')]) {
          sh 'echo $TOKEN | docker login -u myuser --password-stdin'
          sh 'docker push $REGISTRY:$IMAGE_TAG'
        }
      }
    }
  }
  post {
    success { echo 'Build réussi !' }
    failure { echo 'Échec du pipeline.' }
  }
}

4. Automatiser les tests avec Jest

Ajoutez Jest pour valider votre code :

npm install jest --save-dev
# Dans package.json
"scripts": {
  "test": "jest --coverage"
}

Jenkins affichera ensuite le pourcentage de couverture.

5. Déploiement final

Après push, reliez Jenkins à votre environnement de production ou à un Amazon Web Services ECR pour automatiser le déploiement.

bonnes pratiques

  • Versionnez vos images (évitez le tag « latest »).
  • Stockez vos secrets dans les Credentials de Jenkins.
  • Utilisez un fichier .dockerignore pour alléger vos builds.
  • Scindez les étapes de test, build et déploiement pour isoler les erreurs.
  • Surveillez le temps de chaque stage pour optimiser la performance.

conclusion

En quelques étapes, vous disposez d’un pipeline CI/CD complet pour votre microservice Node.js. Ce workflow réduit les erreurs manuelles, accélère les mises en production et améliore la qualité de votre code. Pour un accompagnement sur mesure, demandez un devis chez Novane.

Image de Zapier vs Make vs n8n vs IFTTT : quel outil d’automatisation choisir en 2025 ?

Zapier vs Make vs n8n vs IFTTT : quel outil d’automatisation choisir en 2025 ?

Comparez Zapier, Make, n8n et IFTTT pour 2025 et gagnez du temps en choisissant l’outil d’automatisation adapté à votre budget, votre niveau et vos besoins
Image de l’ue adopte un accord provisoire sur l’intelligence artificielle : ce que les entreprises doivent anticiper

l’ue adopte un accord provisoire sur l’intelligence artificielle : ce que les entreprises doivent anticiper

Découvrez l’accord provisoire de l’UE sur l’IA, ses classifications de risques, obligations et sanctions, et les étapes clés pour préparer votre entreprise.
Image de comment un erp cloud peut optimiser la gestion financière de votre pme

comment un erp cloud peut optimiser la gestion financière de votre pme

Découvrez comment un ERP cloud centralise et automatise la gestion financière de votre PME avec un plan en 4 étapes pour réussir la mise en place
DEVIS GRATUIT

Un projet en tête ? Vous avez des questions ?

Contactez nous pour recevoir un devis gratuitement, des réponses à vos questions ou une séance de consulting offerte avec l'un de nos experts :

Nous contacter