diff --git a/deploy_to_production.sh b/deploy_to_production.sh index dec4cd9..522f953 100755 --- a/deploy_to_production.sh +++ b/deploy_to_production.sh @@ -7,19 +7,28 @@ 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 landingpage/ "$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 "$REMOTE_USER@$REMOTE_HOST" "rm -f '$REMOTE_DIR/index.html' && ln -s landingpage/index.html '$REMOTE_DIR/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"