This commit is contained in:
Your Name committed 2026-06-10 05:34:37 +07:00
1 parent f39a0c83dd
commit f7dc6bb44f
1 file changed
+11 -6
+11 -6
View File
@@ -69,31 +69,36 @@ cd ../..
# D. Deploy & Manage BACKEND (API) # D. Deploy & Manage BACKEND (API)
echo ">>> Updating Backend at $TARGET_BACKEND..." echo ">>> Updating Backend at $TARGET_BACKEND..."
mkdir -p $TARGET_BACKEND mkdir -p $TARGET_BACKEND
mkdir -p $TARGET_BACKEND/apps
mkdir -p $TARGET_BACKEND/packages
# Sync Backend Source (--exclude .env เพื่อป้องกันการลบ .env บน server!) # Sync Backend Source inside a monorepo-like layout so workspace deps resolve
rsync -av --delete \ rsync -av --delete \
--exclude='.env' \ --exclude='.env' \
--exclude='public/' \ --exclude='public/' \
--exclude='node_modules/' \ --exclude='node_modules/' \
apps/backend/ $TARGET_BACKEND/ apps/backend/ $TARGET_BACKEND/apps/backend/
# Sync Shared Packages # Sync Shared Packages
mkdir -p $TARGET_BACKEND/packages
rsync -av packages/ $TARGET_BACKEND/packages/ rsync -av packages/ $TARGET_BACKEND/packages/
cp package.json bun.lock $TARGET_BACKEND/
cd $TARGET_BACKEND cd $TARGET_BACKEND
echo "Installing backend dependencies..." echo "Installing backend dependencies..."
$BUN install $BUN install
# สร้าง public/ folder สำหรับ static files (upload images) # สร้าง public/ folder สำหรับ static files (upload images)
mkdir -p $TARGET_BACKEND/public mkdir -p $TARGET_BACKEND/apps/backend/public
cd $TARGET_BACKEND/apps/backend
# Generate Prisma Client (สำคัญมาก! ต้องรันทุกครั้งหลัง install) # Generate Prisma Client (สำคัญมาก! ต้องรันทุกครั้งหลัง install)
echo ">>> Generating Prisma Client..." echo ">>> Generating Prisma Client..."
$BUN x prisma generate $BUN x prisma generate
# E. Database Migration (Safe Method) # E. Database Migration (Safe Method)
if [ -f ".env" ]; then if [ -f "$TARGET_BACKEND/.env" ]; then
echo ">>> Running Prisma Migrate Deploy..." echo ">>> Running Prisma Migrate Deploy..."
$BUN x prisma migrate deploy $BUN x prisma migrate deploy
else else
@@ -105,7 +110,7 @@ fi
# F. PM2 Management - BACKEND # F. PM2 Management - BACKEND
echo ">>> Managing PM2 Process: $PM2_NAME_BACKEND..." echo ">>> Managing PM2 Process: $PM2_NAME_BACKEND..."
$PM2 restart $PM2_NAME_BACKEND 2>/dev/null || \ $PM2 restart $PM2_NAME_BACKEND 2>/dev/null || \
$PM2 start src/index.ts --name $PM2_NAME_BACKEND --interpreter $BUN $PM2 start $TARGET_BACKEND/apps/backend/src/index.ts --name $PM2_NAME_BACKEND --interpreter $BUN
echo "✅ PM2 process '$PM2_NAME_BACKEND' is running." echo "✅ PM2 process '$PM2_NAME_BACKEND' is running."
# G. Build & Deploy WEBSITE (Next.js SSR) # G. Build & Deploy WEBSITE (Next.js SSR)