chore: migrate PM2 processes to ecosystem.config.js and add deploy safety checks
This commit is contained in:
1 parent
10c614fc8c
commit
f5b48433d1
3 files changed
+55
-32
No files matched your search
+14
-17
@@ -82,7 +82,7 @@ rsync -av --delete \
|
||||
# Sync Shared Packages
|
||||
rsync -av packages/ $TARGET_BACKEND/packages/
|
||||
|
||||
cp package.json bun.lock $TARGET_BACKEND/
|
||||
cp package.json bun.lock ecosystem.config.js $TARGET_BACKEND/
|
||||
|
||||
cd $TARGET_BACKEND
|
||||
echo "Installing backend dependencies..."
|
||||
@@ -98,21 +98,19 @@ echo ">>> Generating Prisma Client..."
|
||||
$BUN x prisma generate
|
||||
|
||||
# E. Database Migration (Safe Method)
|
||||
if [ -f "$TARGET_BACKEND/.env" ]; then
|
||||
# Copy .env to apps/backend so Prisma and the app can find it
|
||||
cp "$TARGET_BACKEND/.env" "$TARGET_BACKEND/apps/backend/.env"
|
||||
echo ">>> Running Prisma Migrate Deploy..."
|
||||
$BUN x prisma migrate deploy
|
||||
else
|
||||
echo "⚠️ Warning: .env not found at $TARGET_BACKEND/.env"
|
||||
echo " Please create it manually once: see serverinfo/text.txt for template"
|
||||
echo " Skipping migrations this time."
|
||||
if [ ! -f "$TARGET_BACKEND/.env" ]; then
|
||||
echo "❌ Error: .env file is missing at $TARGET_BACKEND/.env. Deployment aborted."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Copy .env to apps/backend so Prisma and the app can find it
|
||||
cp "$TARGET_BACKEND/.env" "$TARGET_BACKEND/apps/backend/.env"
|
||||
echo ">>> Running Prisma Migrate Deploy..."
|
||||
$BUN x prisma migrate deploy
|
||||
|
||||
# F. PM2 Management - BACKEND
|
||||
echo ">>> Managing PM2 Process: $PM2_NAME_BACKEND..."
|
||||
$PM2 restart $PM2_NAME_BACKEND 2>/dev/null || \
|
||||
$PM2 start $TARGET_BACKEND/apps/backend/src/index.ts --name $PM2_NAME_BACKEND --interpreter $BUN
|
||||
$PM2 startOrReload $TARGET_BACKEND/ecosystem.config.js --only $PM2_NAME_BACKEND --env production
|
||||
echo "✅ PM2 process '$PM2_NAME_BACKEND' is running."
|
||||
|
||||
# G. Build & Deploy WEBSITE (Next.js SSR)
|
||||
@@ -129,6 +127,8 @@ rsync -av \
|
||||
rsync -av \
|
||||
$TEMP_DIR/apps/website/.next/static/ $TARGET_WEBSITE/apps/website/.next/static/
|
||||
|
||||
cp ecosystem.config.js $TARGET_WEBSITE/
|
||||
|
||||
# F. Fix Permissions
|
||||
echo ">>> Fixing Permissions..."
|
||||
chown -R ti:ti $TARGET_BACKEND $TARGET_WEBSITE
|
||||
@@ -137,12 +137,9 @@ chown -R ti:ti $TARGET_BACKEND $TARGET_WEBSITE
|
||||
cd $TARGET_WEBSITE
|
||||
echo ">>> Creating symlink for .next..."
|
||||
ln -sf apps/website/.next .next
|
||||
cd apps/website
|
||||
echo ">>> Managing PM2 Process: $PM2_NAME_WEBSITE..."
|
||||
$PM2 delete $PM2_NAME_WEBSITE 2>/dev/null || true
|
||||
PORT=$SSR_PORT $PM2 start $BUN --name $PM2_NAME_WEBSITE \
|
||||
-- server.js
|
||||
echo "✅ PM2 process '$PM2_NAME_WEBSITE' is running on port $SSR_PORT."
|
||||
$PM2 startOrReload $TARGET_WEBSITE/ecosystem.config.js --only $PM2_NAME_WEBSITE --env production
|
||||
echo "✅ PM2 process '$PM2_NAME_WEBSITE' is running."
|
||||
|
||||
# I. Cleanup
|
||||
echo "Cleaning up build artifacts..."
|
||||
|
||||
Reference in new issue
Block a user