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
Some checks failed
Code Analysis (JS/Vue) / analyze (push) Failing after 51s
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user