Zwei Fehler im neuen Deploy-Weg, beide bei einem Testlauf gefunden.
1. Das Skript uebersprang den Build, wenn vorher von Hand git pull lief.
Die Entscheidung haengte an HEAD vs. origin/main -- nach einem manuellen
Pull sind beide gleich, also "Nothing to do", obwohl der vorhandene Build
aus einem aelteren Commit stammte. Genau das ist beim Deploy von v1.120.0
passiert: gepullt wurde, gebaut nicht, ausgeliefert blieb 1.119.4.
Massgeblich ist jetzt .next/BUILD_COMMIT.
Mein Rat, vor dem Skript git pull auszufuehren, hat den Fall ueberhaupt
erst ausgeloest -- das Skript pullt selbst.
2. Der Smoke-Test-Server ueberlebte das Beenden. ( ... ) & startet eine
Subshell, $! ist deren PID; node lief als Waise weiter und hielt Port
3999 belegt. Jeder weitere Deploy waere daran gescheitert. exec ersetzt
die Subshell, kill greift, kill -9 fasst nach, der ERR-Trap raeumt
ebenfalls auf, und vorab wird geprueft ob der Port frei ist.
Beide Szenarien getestet: alter Build wird erkannt und neu gebaut,
gleicher Stand wird uebersprungen, Port bleibt frei.
v1.120.1
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>