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