Enhance deploy-test.sh script with error handling for root execution and write permissions. Add checks for successful git pull and provide user guidance for SSH key setup and repository access issues.
Some checks failed
Code Analysis (JS/Vue) / analyze (push) Failing after 51s

This commit is contained in:
Torsten Schulz (local)
2026-04-15 20:39:59 +02:00
parent ef2d9353f5
commit 0fb8052a77

View File

@@ -13,6 +13,14 @@ echo ""
echo "Working directory: $(pwd)"
echo ""
if [ "${EUID:-$(id -u)}" -eq 0 ]; then
echo "ERROR: Dieses Script darf nicht mit sudo/root ausgeführt werden."
echo "Grund: HOME=/root würde DATA/BACKUP unter /root anlegen und Git-SSH des normalen Users umgehen."
echo "Bitte so starten:"
echo " ./deploy-test.sh"
exit 1
fi
if ! git rev-parse --is-inside-work-tree >/dev/null 2>&1; then
echo "ERROR: Dieses Script muss im Git-Repository ausgeführt werden (kein .git gefunden)."
exit 1
@@ -37,6 +45,12 @@ ensure_symlink_dir() {
fi
if [ -d "$src" ]; then
if [ ! -w "$src" ]; then
echo "ERROR: Keine Schreibrechte auf $src"
echo "Bitte Besitz korrigieren, dann erneut starten:"
echo " sudo chown -R $(id -un):$(id -gn) \"$src\""
exit 1
fi
echo " Moving $src -> $target (first-time migration)"
# Merge existing content into target
cp -a "$src/." "$target/" || true
@@ -129,7 +143,18 @@ git clean -fd \
# Pull latest changes
echo " Pulling latest changes..."
git pull
if ! git pull --ff-only; then
echo "ERROR: git pull fehlgeschlagen."
echo ""
echo "Häufige Ursache: SSH-Key für den aktuellen User fehlt."
echo "Prüfen:"
echo " ssh -T git@tsschulz.de"
echo ""
echo "Optional auf HTTPS wechseln:"
echo " git remote set-url origin https://tsschulz.de/<owner>/<repo>.git"
echo "Oder SSH-Key für User $(id -un) hinterlegen."
exit 1
fi
# Reset any accidental changes from stash restore (should be none now)
git reset --hard HEAD >/dev/null 2>&1