@@ -26,6 +26,57 @@ echo "║
2626echo " ╚═══════════════════════════════════════════════════════════════════════════╝"
2727echo " "
2828
29+ # ── Phase 0: Stop existing services if running ────────────────────────────────
30+ echo " "
31+ echo " ───────────────────────────────────────────────────────────────────────────────"
32+ echo " Pre-flight: Checking for running services..."
33+ echo " ───────────────────────────────────────────────────────────────────────────────"
34+ echo " "
35+
36+ NEED_STOP=0
37+
38+ # Check if Tomcat is running
39+ if curl -s -o /dev/null -w " %{http_code}" http://localhost:8080/ 2> /dev/null | grep -q " 200\|302\|401\|403" ; then
40+ echo " [*] Tomcat is running — will shut down before redeploy"
41+ NEED_STOP=1
42+ fi
43+
44+ # Check if Main.java / backends are running
45+ if [ -f " $PROJECT_ROOT /data/nwe-main.pid" ] && kill -0 " $( cat " $PROJECT_ROOT /data/nwe-main.pid" 2> /dev/null) " 2> /dev/null; then
46+ echo " [*] NWE Main process running (PID $( cat " $PROJECT_ROOT /data/nwe-main.pid" ) ) — will shut down"
47+ NEED_STOP=1
48+ fi
49+
50+ # Check if any NWE backend ports are active
51+ for PORT in 49152 20000 2000 49199 5512 6682; do
52+ if timeout 1 bash -c " echo >/dev/tcp/localhost/$PORT " 2> /dev/null; then
53+ echo " [*] Port $PORT is active — existing backends detected"
54+ NEED_STOP=1
55+ break
56+ fi
57+ done
58+
59+ if [ " $NEED_STOP " -eq 1 ]; then
60+ echo " "
61+ echo " [*] Stopping existing services first..."
62+ if [ -f " $PROJECT_ROOT /scripts/shutdown-all.sh" ]; then
63+ bash " $PROJECT_ROOT /scripts/shutdown-all.sh" 2> /dev/null || true
64+ else
65+ # Manual shutdown
66+ if [ -x " $TOMCAT_HOME /bin/shutdown.sh" ]; then
67+ " $TOMCAT_HOME /bin/shutdown.sh" > /dev/null 2>&1 || true
68+ fi
69+ if [ -f " $PROJECT_ROOT /data/nwe-main.pid" ]; then
70+ kill " $( cat " $PROJECT_ROOT /data/nwe-main.pid" 2> /dev/null) " 2> /dev/null || true
71+ fi
72+ bash " $PROJECT_ROOT /scripts/shutdown-backends.sh" 2> /dev/null || true
73+ fi
74+ sleep 3
75+ echo " [✓] Existing services stopped"
76+ else
77+ echo " [✓] No running services detected — clean start"
78+ fi
79+
2980# ── Phase 1: MySQL ────────────────────────────────────────────────────────────
3081echo " "
3182echo " ───────────────────────────────────────────────────────────────────────────────"
0 commit comments