pipeline { agent { docker { image 'node:20' args '-v /var/run/docker.sock:/var/run/docker.sock' } } stages { stage('Checkout') { steps { checkout scm } } stage('Install dependencies') { steps { sh 'npm install' } } stage('Build Next.js app') { steps { sh 'npm run build' } } stage('Build Docker image') { steps { sh 'docker build -t the-tip-top-frontend .' } } stage('Deploy') { steps { sh ''' echo "🚀 Déploiement du frontend via Docker Compose..." cd /srv/devops/the-tip-top docker compose stop frontend || true docker compose rm -f frontend || true docker compose up -d --build frontend ''' } } } post { success { echo "✅ Déploiement du frontend réussi !" } failure { echo "❌ Échec du pipeline Frontend" } } }