fix(deploy): pm2 stop staging services + 2.5GB heap vor build (OOM-fix)
This commit is contained in:
parent
822053e11e
commit
f8181d63b9
@ -134,10 +134,15 @@ if $run_migration; then
|
||||
fi
|
||||
|
||||
# 3. Build backend (Nitro standalone) — Prisma generate ist Teil des build-scripts
|
||||
log "Step 3: pnpm --filter rebreak-backend build..."
|
||||
# RAM-constraint (3.7GB VPS): pm2-Services VOR build stoppen, sonst OOM (exit 134).
|
||||
# Heap auf 2.5GB erhöhen — sonst hängt nitro build bei 1.5GB mark-compact-loop.
|
||||
log "Step 3a: pm2 stop staging services (RAM für build freigeben)..."
|
||||
"${PM2_BIN}" stop rebreak-staging rebreak-admin-staging rebreak-idle-staging 2>/dev/null || true
|
||||
sleep 2
|
||||
|
||||
log "Step 3b: pnpm --filter rebreak-backend build..."
|
||||
cd "${APP_DIR}"
|
||||
# NODE_OPTIONS: max 1.5 GB für den Build-Prozess (4 GB RAM Server)
|
||||
NODE_OPTIONS="--max-old-space-size=1536" CI=true "${PNPM_BIN}" --filter rebreak-backend build 2>&1
|
||||
NODE_OPTIONS="--max-old-space-size=2560" CI=true "${PNPM_BIN}" --filter rebreak-backend build 2>&1
|
||||
log "Build done"
|
||||
|
||||
# 4. Atomisches Deploy: .output → .output-staging (relativ zu backend/)
|
||||
@ -154,16 +159,17 @@ else
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 5. pm2 restart rebreak-staging (--update-env zieht neue Infisical-secrets)
|
||||
log "Step 5: pm2 restart rebreak-staging..."
|
||||
"${PM2_BIN}" restart rebreak-staging --update-env 2>/dev/null || \
|
||||
# 5. pm2 start/restart staging-services (--update-env zieht neue Infisical-secrets)
|
||||
log "Step 5: pm2 start rebreak-staging + rebreak-admin-staging + rebreak-idle-staging..."
|
||||
"${PM2_BIN}" start rebreak-staging --update-env 2>/dev/null || \
|
||||
"${PM2_BIN}" start "${REPO_ROOT}/ecosystem.config.js" --only rebreak-staging
|
||||
log "rebreak-staging restarted"
|
||||
"${PM2_BIN}" start rebreak-admin-staging --update-env 2>/dev/null || true
|
||||
"${PM2_BIN}" start rebreak-idle-staging --update-env 2>/dev/null || true
|
||||
log "staging-services started"
|
||||
|
||||
# 6. IMAP + DNS Services (optional – kein Fehler wenn nicht vorhanden, Mo's Scope)
|
||||
log "Step 6: Optional services restart..."
|
||||
"${PM2_BIN}" restart rebreak-imap-staging 2>/dev/null || true
|
||||
"${PM2_BIN}" restart rebreak-idle-staging 2>/dev/null || true
|
||||
"${PM2_BIN}" restart dns-rebreak-staging 2>/dev/null || \
|
||||
"${PM2_BIN}" start "${REPO_ROOT}/ecosystem.config.js" --only dns-rebreak-staging 2>/dev/null || true
|
||||
"${PM2_BIN}" restart dns-rebreak 2>/dev/null || \
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user