73 lines
1.7 KiB
Bash
73 lines
1.7 KiB
Bash
#!/bin/bash
|
|
|
|
# LuckyChit Production Deployment Script
|
|
# Run this script as the luckychit user to update and redeploy
|
|
|
|
set -e # Exit on any error
|
|
|
|
echo "🚀 Starting LuckyChit Deployment..."
|
|
|
|
# Navigate to project root
|
|
cd /home/luckychit/apps/chitfund
|
|
|
|
# Save any uncommitted changes
|
|
echo "📦 Checking for local changes..."
|
|
if ! git diff-index --quiet HEAD --; then
|
|
echo "⚠️ Local changes detected. Stashing..."
|
|
git stash
|
|
fi
|
|
|
|
# Pull latest code
|
|
echo "📥 Pulling latest code..."
|
|
git pull origin prodnew # or 'main' depending on your branch
|
|
|
|
# ===== BACKEND DEPLOYMENT =====
|
|
echo ""
|
|
echo "🔧 Deploying Backend..."
|
|
cd backend
|
|
|
|
# Install dependencies
|
|
echo "📦 Installing backend dependencies..."
|
|
npm install
|
|
|
|
# Restart backend with zero downtime
|
|
echo "♻️ Restarting backend API..."
|
|
pm2 reload luckychit-api
|
|
|
|
# ===== FRONTEND DEPLOYMENT =====
|
|
echo ""
|
|
echo "🎨 Deploying Frontend..."
|
|
cd ../luckychit
|
|
|
|
# Get Flutter dependencies
|
|
echo "📦 Getting Flutter dependencies..."
|
|
flutter pub get
|
|
|
|
# Build for web
|
|
echo "🏗️ Building Flutter web app with cache-busting..."
|
|
# Add timestamp to force browser cache refresh
|
|
BUILD_NUMBER=$(date +%s)
|
|
flutter build web --release --web-renderer html --build-number=$BUILD_NUMBER
|
|
echo "📦 Build version: $BUILD_NUMBER"
|
|
|
|
# Restart frontend
|
|
echo "♻️ Restarting frontend..."
|
|
pm2 reload luckychit-frontend
|
|
|
|
# ===== VERIFICATION =====
|
|
echo ""
|
|
echo "✅ Deployment Complete!"
|
|
echo ""
|
|
echo "📊 PM2 Status:"
|
|
pm2 status
|
|
|
|
echo ""
|
|
echo "🔍 Quick Health Check:"
|
|
echo "Backend: curl http://localhost:3000/health"
|
|
echo "Frontend: curl http://localhost:8080"
|
|
echo ""
|
|
echo "📝 View logs:"
|
|
echo " pm2 logs luckychit-api --lines 50"
|
|
echo " pm2 logs luckychit-frontend --lines 50"
|
|
|