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:
@@ -35,11 +35,17 @@ cd "$REMOTE"
|
|||||||
git config --global --add safe.directory "$REMOTE" 2>/dev/null || true
|
git config --global --add safe.directory "$REMOTE" 2>/dev/null || true
|
||||||
|
|
||||||
# ── 1. Repo aktualisieren ─────────────────────────────────────────────────────
|
# ── 1. Repo aktualisieren ─────────────────────────────────────────────────────
|
||||||
|
# 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"
|
log "git pull --ff-only origin main"
|
||||||
if ! git pull --ff-only origin main; then
|
if ! git pull --ff-only origin main; then
|
||||||
die "git pull fehlgeschlagen. Arbeitsbaum sauber? ('git status' prüfen, ggf. 'git stash')."
|
die "git pull fehlgeschlagen. Arbeitsbaum sauber? ('git status' prüfen, ggf. 'git stash')."
|
||||||
fi
|
fi
|
||||||
log "Jetzt auf: $(git log --oneline -1)"
|
log "Jetzt auf: $(git log --oneline -1)"
|
||||||
|
export _SU_REEXEC=1
|
||||||
|
exec bash "$REMOTE/server-update.sh" "$@" # frische Version übernimmt ab hier
|
||||||
|
fi
|
||||||
|
|
||||||
# ── 2. Migration ──────────────────────────────────────────────────────────────
|
# ── 2. Migration ──────────────────────────────────────────────────────────────
|
||||||
if $DO_MIGRATE; then
|
if $DO_MIGRATE; then
|
||||||
|
|||||||
Reference in New Issue
Block a user