This commit is contained in:
@@ -2,20 +2,26 @@ name: Deploy to Pages
|
|||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches: [main]
|
branches: [main]
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
deploy:
|
deploy:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout Code
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
- name: Deploy via Rsync
|
- name: SSH Key einrichten
|
||||||
uses: https://github.com/絞り/rsync-deploy-action@v1 # Ein gängiger rsync wrapper
|
run: |
|
||||||
with:
|
mkdir -p ~/.ssh
|
||||||
host: ${{ secrets.DEPLOY_HOST }}
|
echo "${{ secrets.DEPLOY_SSH_KEY }}" > ~/.ssh/id_ed25519
|
||||||
user: ${{ secrets.DEPLOY_USER }}
|
chmod 600 ~/.ssh/id_ed25519
|
||||||
ssh_private_key: ${{ secrets.DEPLOY_SSH_KEY }}
|
# Host zu bekannten Hosts hinzufügen, um Bestätigungsdialog zu vermeiden
|
||||||
local_path: "./*" # Alle Dateien im Repo
|
ssh-keyscan -H ${{ secrets.DEPLOY_HOST }} >> ~/.ssh/known_hosts
|
||||||
remote_path: "/data/pages/pages/rclone-app"
|
|
||||||
args: "-avz --delete" # --delete löscht entfernte Dateien im Ziel
|
- 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" \
|
||||||
|
./ ${{ secrets.DEPLOY_USER }}@${{ secrets.DEPLOY_HOST }}:/data/pages/pages/rclone-app/
|
||||||
|
|||||||
Reference in New Issue
Block a user