Files
ospab.host/deploy.sh
Georgiy Syralev d45baf2260 sitemap и тд
2025-11-01 12:29:46 +03:00

92 lines
3.2 KiB
Bash
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/bin/bash
# Deploy script для обновления ospab-host на сервере
# Использование: ./deploy.sh
set -e # Выход при первой ошибке
echo "╔════════════════════════════════════════════════════════════╗"
echo "║ DEPLOYMENT: VPS Sync + Logging Optimization ║"
echo "╚════════════════════════════════════════════════════════════╝"
BACKEND_DIR="/var/www/ospab-host/backend"
# 1. Git update
echo ""
echo "📥 [1/6] Загружаю обновления из GitHub..."
cd /var/www/ospab-host
git pull origin main || {
echo "❌ Ошибка: не удалось обновить git"
exit 1
}
# 2. Clean node_modules (на случай если были проблемы с prisma)
echo ""
echo "🧹 [2/6] Очищаю node_modules..."
cd $BACKEND_DIR
rm -rf node_modules package-lock.json
echo "✅ Удалено"
# 3. Install dependencies
echo ""
echo "📚 [3/6] Переустанавливаю зависимости..."
npm cache clean --force
npm install || {
echo "❌ Ошибка: не удалось установить зависимости"
exit 1
}
echo "✅ Установлено"
# 4. Build
echo ""
echo "🔨 [4/6] Собираю backend..."
npm run build || {
echo "❌ Ошибка: не удалось собрать backend"
exit 1
}
echo "✅ Собрано"
# 5. Restart backend
echo ""
echo "🔄 [5/6] Перезагружаю backend..."
pm2 restart ospab-backend || {
echo "❌ Ошибка: не удалось перезагрузить backend"
echo " Убедитесь что PM2 установлен: npm install -g pm2"
exit 1
}
sleep 2
echo "✅ Перезагружено"
# 6. Health check
echo ""
echo "✅ [6/6] Проверяю статус..."
echo ""
# Check health endpoint
HEALTH=$(curl -s https://ospab.host:5000/health | grep -o '"status":"ok"' || echo "failed")
if [[ $HEALTH == *"ok"* ]]; then
echo "✅ Health check: OK"
else
echo "❌ Health check: FAILED"
fi
# Check VPS Sync
SYNC=$(curl -s https://ospab.host:5000/api/vps/sync/status | grep -o '"status":"connected"' || echo "failed")
if [[ $SYNC == *"connected"* ]]; then
echo "✅ VPS Sync: CONNECTED"
else
echo "⚠️ VPS Sync: DISABLED (check .env)"
fi
echo ""
echo "╔════════════════════════════════════════════════════════════╗"
echo "║ ✨ DEPLOYMENT COMPLETE ║"
echo "╚════════════════════════════════════════════════════════════╝"
echo ""
echo "📊 Backend logs:"
echo " pm2 logs ospab-backend | grep VPS"
echo ""
echo "🔍 Проверить VPS Sync:"
echo " curl https://ospab.host:5000/api/vps/sync/status"
echo ""
echo "✅ Готово!"