41 lines
1.3 KiB
Bash
41 lines
1.3 KiB
Bash
#!/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 !"
|