#!/usr/bin/env bash # ============================================================================== # Script de déploiement automatisé pour TER Ferrovia Régional # Domaine: ter-ferrovia.mrpatator.fr # ============================================================================== set -e echo "🚀 [1/5] Début du déploiement..." # 1. Aller dans le dossier du projet cd "$(dirname "$0")" # 2. Récupérer les dernières modifications Git (si applicable) if [ -d ".git" ]; then echo "📥 [2/5] Récupération du code depuis Git..." git pull origin main || git pull origin master || true fi # 3. Installation des dépendances echo "📦 [3/5] Installation des dépendances Node.js..." npm ci --prefer-offline || npm install # 4. Build de production Next.js echo "🏗️ [4/5] Compilation de l'application Next.js (Production Build)..." npm run build # 5. Démarrage ou Rechargement avec PM2 sans coupure (zero downtime) echo "⚡ [5/5] Rechargement du serveur PM2..." if pm2 describe ter-ferrovia > /dev/null 2>&1; then pm2 reload ecosystem.config.cjs --update-env echo "✅ Application rechargée avec succès avec PM2 !" else pm2 start ecosystem.config.cjs --env production pm2 save echo "✅ Application démarrée avec succès avec PM2 !" fi echo "🎉 Déploiement terminé avec succès sur ter-ferrovia.mrpatator.fr !"