From 3856322b6c3a0c25cc0a2b65350e1aa606d9ed26 Mon Sep 17 00:00:00 2001 From: Florian Walther Date: Sun, 1 Feb 2026 19:17:09 +0100 Subject: [PATCH] fixed workflow (2) --- .gitea/workflows/deploy.yml | 29 +++++++++++++++++++++-------- 1 file changed, 21 insertions(+), 8 deletions(-) diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index 48680f9..2652a0f 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -1,4 +1,4 @@ -name: Deploy to Pages +name: Deploy to Pages (via spiped & base64) on: push: branches: [main] @@ -11,17 +11,30 @@ jobs: - name: Checkout Code uses: actions/checkout@v3 - - name: SSH Key einrichten + - name: Tools installieren + run: | + sudo apt-get update + sudo apt-get install -y rsync openssh-client spiped + + - name: SSH & spiped Keys einrichten run: | mkdir -p ~/.ssh - echo "${{ secrets.DEPLOY_SSH_KEY }}" > ~/.ssh/id_ed25519 + chmod 700 ~/.ssh + + # SSH Privat-Key (Text-basiert) + echo "${{ secrets.DEPLOY_SSH_KEY }}" | tr -d '\r' > ~/.ssh/id_ed25519 chmod 600 ~/.ssh/id_ed25519 - # Host zu bekannten Hosts hinzufügen, um Bestätigungsdialog zu vermeiden - ssh-keyscan -H ${{ secrets.DEPLOY_HOST }} >> ~/.ssh/known_hosts + + # spiped Key (Base64 dekodieren zu Binär) + echo "${{ secrets.SPIPED_KEY }}" | base64 -d > ~/.ssh/spipe.key + chmod 600 ~/.ssh/spipe.key - name: Deploy via rsync run: | - # Erstellt den Zielordner falls er fehlt und kopiert die Dateien - # Wir nutzen -e ssh um den eben angelegten Key zu verwenden - rsync -avz --delete -e "ssh -i ~/.ssh/id_ed25519" \ + # --exclude sorgt dafür, dass nur die Webseite übertragen wird + rsync -avz --delete \ + --exclude ".git/" \ + --exclude ".gitea/" \ + --exclude ".gitignore" \ + -e "ssh -i ~/.ssh/id_ed25519 -o StrictHostKeyChecking=no -o 'ProxyCommand=spipe -t %h:8022 -k ~/.ssh/spipe.key'" \ ./ ${{ secrets.DEPLOY_USER }}@${{ secrets.DEPLOY_HOST }}:/data/pages/pages/rclone-app/