pipeline { agent { docker { image 'node:20' args '-v /var/run/docker.sock:/var/run/docker.sock' } } environment { APP_NAME = "the-tip-top-backend" DEPLOY_PATH = "/srv/devops/the-tip-top" } stages { stage('Checkout') { steps { checkout scm } } stage('Install dependencies') { steps { echo "📦 Installation des dépendances..." sh 'npm install' } } stage('Build Docker image') { steps { echo "🐳 Construction de l’image Docker backend..." sh 'docker build -t ${APP_NAME}:latest .' } } stage('Deploy') { steps { echo "🚀 Déploiement du backend via Docker Compose..." sh """ cd ${DEPLOY_PATH} docker compose stop backend || true docker compose rm -f backend || true docker compose up -d --build backend """ } } } post { success { echo "✅ Déploiement du backend réussi !" } failure { echo "❌ Échec du pipeline backend." } } }