fix(deploy): server-update.sh re-exec nach git pull (Self-Edit-Falle)
Skript zog sich per pull selbst neu, waehrend die alte Version noch lief → Health-Check nutzte alten Code. Nach pull jetzt exec der frischen Version (Marker _SU_REEXEC verhindert Doppel-Pull). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
+9
-3
@@ -35,11 +35,17 @@ cd "$REMOTE"
|
||||
git config --global --add safe.directory "$REMOTE" 2>/dev/null || true
|
||||
|
||||
# ── 1. Repo aktualisieren ─────────────────────────────────────────────────────
|
||||
log "git pull --ff-only origin main"
|
||||
if ! git pull --ff-only origin main; then
|
||||
# Guard gegen "laufendes Skript editiert sich selbst": zuerst nur pullen, dann
|
||||
# die frisch gezogene Version neu starten (Marker verhindert Doppel-Pull).
|
||||
if [[ -z "${_SU_REEXEC:-}" ]]; then
|
||||
log "git pull --ff-only origin main"
|
||||
if ! git pull --ff-only origin main; then
|
||||
die "git pull fehlgeschlagen. Arbeitsbaum sauber? ('git status' prüfen, ggf. 'git stash')."
|
||||
fi
|
||||
log "Jetzt auf: $(git log --oneline -1)"
|
||||
export _SU_REEXEC=1
|
||||
exec bash "$REMOTE/server-update.sh" "$@" # frische Version übernimmt ab hier
|
||||
fi
|
||||
log "Jetzt auf: $(git log --oneline -1)"
|
||||
|
||||
# ── 2. Migration ──────────────────────────────────────────────────────────────
|
||||
if $DO_MIGRATE; then
|
||||
|
||||
Reference in New Issue
Block a user