All checks were successful
Deploy to Pages (via spiped & base64) / deploy (push) Successful in 18s
41 lines
1.3 KiB
YAML
41 lines
1.3 KiB
YAML
name: Deploy to Pages (via spiped & base64)
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
deploy:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout Code
|
|
uses: actions/checkout@v3
|
|
|
|
- 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
|
|
chmod 700 ~/.ssh
|
|
|
|
# SSH Privat-Key (Text-basiert)
|
|
echo "${{ secrets.DEPLOY_SSH_KEY }}" | tr -d '\r' > ~/.ssh/id_ed25519
|
|
chmod 600 ~/.ssh/id_ed25519
|
|
|
|
# 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: |
|
|
# --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/
|