#!/bin/bash # Deployment-Skript für jamulix.de set -e REMOTE_USER="${USER}" REMOTE_HOST="jamulix.de" REMOTE_DIR="/var/www/jamulix.de/html" LOCAL_DIR="/home/dschlueter/neue_jamulix.de_landing_page/jamulix.de_webpage_2" SSH_SOCKET="/tmp/ssh-jamulix-deploy-$$" cleanup() { ssh -S "$SSH_SOCKET" -O exit "$REMOTE_USER@$REMOTE_HOST" 2>/dev/null || true } trap cleanup EXIT echo "Starte Deployment auf $REMOTE_HOST..." # Einmalige Authentifizierung — alle folgenden SSH/rsync-Aufrufe nutzen diesen Socket ssh -M -S "$SSH_SOCKET" -o "ControlPersist=5m" -fN "$REMOTE_USER@$REMOTE_HOST" cd "$LOCAL_DIR" echo "Baue die Seite..." npm run build echo "Synchronisiere landingpage/ nach $REMOTE_USER@$REMOTE_HOST:$REMOTE_DIR/landingpage/..." rsync -av --delete -e "ssh -S $SSH_SOCKET" landingpage/ "$REMOTE_USER@$REMOTE_HOST:$REMOTE_DIR/landingpage/" echo "Setze symbolischen Link: index.html → landingpage/index.html" ssh -S "$SSH_SOCKET" "$REMOTE_USER@$REMOTE_HOST" "rm -f '$REMOTE_DIR/index.html' && ln -s landingpage/index.html '$REMOTE_DIR/index.html'" echo "" echo "Deployment abgeschlossen: https://jamulix.de"