fixed workflow (2)
All checks were successful
Deploy to Pages (via spiped & base64) / deploy (push) Successful in 18s
All checks were successful
Deploy to Pages (via spiped & base64) / deploy (push) Successful in 18s
This commit is contained in:
@@ -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/
|
||||
|
||||
Reference in New Issue
Block a user