Comment mettre en place un pipeline CI/CD avec GitHub Actions pour un projet Node.js
09/03/2026
Introduction
Dans un contexte SaaS, automatiser la livraison de votre application Node.js garantit fiabilité, rapidité et réduction des erreurs humaines. Ce guide technique pas-à-pas vous montre comment configurer un pipeline CI/CD avec GitHub Actions pour builder, tester et déployer automatiquement votre code à chaque push.
Étape 1 : Préparer votre repository et le workflow GitHub Actions
1. Créer le répertoire des workflows
- Dans la racine de votre projet, créez
.github/workflows/. - Ajoutez un fichier
ci-cd.ymldedans.
2. Définir le template initial
name: CI/CD Pipeline
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
build-and-test:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Setup Node.js
uses: actions/setup-node@v3
with:
node-version: '16'
- name: Install dependencies
run: npm ci
- name: Run tests
run: npm test
Ce job installe Node.js, vos dépendances et lance les tests.
Étape 2 : Construire et publier une image Docker
Pour déployer sur un cluster ou un registry privé, dockerisez votre application :
- name: Build Docker image
uses: docker/build-push-action@v4
with:
context: .
file: Dockerfile
push: true
tags: ${{ secrets.REGISTRY_URL }}/my-app:${{ github.sha }}
Vous aurez besoin d’ajouter REGISTRY_URL et vos credentials dans les secrets du repo. En savoir plus dans la documentation GitHub Actions.
Étape 3 : Déployer sur votre serveur ou plateforme cloud
Voici un exemple de déploiement via SSH sur une VM Linux :
- name: Deploy via SSH
uses: appleboy/ssh-action@v0.1.7
with:
host: ${{ secrets.SERVER_HOST }}
username: ${{ secrets.SERVER_USER }}
key: ${{ secrets.SERVER_SSH_KEY }}
script: |
docker pull ${{ secrets.REGISTRY_URL }}/my-app:${{ github.sha }}
docker stop my-app || true
docker rm my-app || true
docker run -d \
--name my-app \
-p 3000:3000 \
${{ secrets.REGISTRY_URL }}/my-app:${{ github.sha }}
Vous pouvez adapter ce job pour AWS ECS, Google Cloud Run ou Azure Container Instances.
Bonnes pratiques
- Cache npm : utilisez
actions/cache@v3pour accélérer les builds. - Matrix build : testez plusieurs versions de Node.js en parallèle.
- Séparation des workflows : scindez tests unitaires et déploiement.
- Rollback automatique : prévoyez un job pour revenir à la version précédente en cas d’échec.
- Notifications : alertez vos équipes via Slack ou e-mail sur l’état du pipeline.
Conclusion
En quelques étapes, vous disposez d’un pipeline CI/CD GitHub Actions complet pour votre projet SaaS ou application web. Vous gagnez en agilité, en qualité et pouvez itérer plus rapidement.
Vous souhaitez externaliser ce workflow ou aller plus loin dans l’automatisation ? Contactez nos experts pour un audit personnalisé.

