68 lines
2.2 KiB
Bash
68 lines
2.2 KiB
Bash
#!/bin/bash
|
|
|
|
# Script tự động deploy và fix bcrypt trên server
|
|
# Usage: ./deploy.sh
|
|
|
|
SERVER="root@senaai.tech"
|
|
PROJECT_PATH="/var/www/services/sena_db_api"
|
|
|
|
echo "════════════════════════════════════════════════════════"
|
|
echo " 🚀 Auto Deploy & Fix Bcrypt Script"
|
|
echo " Server: $SERVER"
|
|
echo " Path: $PROJECT_PATH"
|
|
echo "════════════════════════════════════════════════════════"
|
|
echo ""
|
|
|
|
# Execute commands on remote server
|
|
ssh $SERVER << 'ENDSSH'
|
|
set -e # Exit on error
|
|
|
|
echo "📁 Navigating to project directory..."
|
|
cd /var/www/services/sena_db_api
|
|
|
|
echo ""
|
|
echo "🔧 Rebuilding bcrypt module..."
|
|
npm rebuild bcrypt --build-from-source
|
|
|
|
echo ""
|
|
echo "🔄 Rebuilding all native modules..."
|
|
npm rebuild
|
|
|
|
echo ""
|
|
echo "📂 Creating logs directory..."
|
|
mkdir -p logs
|
|
|
|
echo ""
|
|
echo "✅ Build completed successfully!"
|
|
echo ""
|
|
echo "════════════════════════════════════════════════════════"
|
|
echo " PM2 Status:"
|
|
echo "════════════════════════════════════════════════════════"
|
|
pm2 list
|
|
|
|
echo ""
|
|
echo "Do you want to restart PM2 processes? (y/n)"
|
|
read -r response
|
|
if [[ "$response" =~ ^([yY][eE][sS]|[yY])$ ]]; then
|
|
echo ""
|
|
echo "🔄 Restarting PM2 processes..."
|
|
pm2 restart all 2>/dev/null || pm2 start start.json
|
|
echo ""
|
|
echo "✅ PM2 processes restarted!"
|
|
echo ""
|
|
pm2 list
|
|
else
|
|
echo ""
|
|
echo "⏭️ Skipped PM2 restart"
|
|
fi
|
|
|
|
echo ""
|
|
echo "════════════════════════════════════════════════════════"
|
|
echo " ✅ Deployment completed!"
|
|
echo "════════════════════════════════════════════════════════"
|
|
|
|
ENDSSH
|
|
|
|
echo ""
|
|
echo "Done! Check the output above for any errors."
|