Files
girlsday2026/.gitea/workflows/deploy.yml
T
Andreas Martin 74a15197bd
Deploy Website per SSH / index.html auf Webserver deployen (push) Failing after 6s
Change key and add Secrets
2026-04-23 11:59:15 +02:00

67 lines
3.6 KiB
YAML

name: Deploy Website per SSH
# Auslöser: Bei jedem Push auf den main-Branch
on:
push:
branches:
- main
workflow_dispatch: # ermöglicht manuelles Starten über die Gitea-Oberfläche
jobs:
deploy:
name: index.html auf Webserver deployen
runs-on: ubuntu-latest
steps:
# ─────────────────────────────────────────────
# 1. Repository auschecken
# ─────────────────────────────────────────────
- name: 📥 Repository klonen
uses: actions/checkout@v4
# ─────────────────────────────────────────────
# 2. SSH-Key einrichten
# ─────────────────────────────────────────────
- name: 🔑 SSH-Key vorbereiten
run: |
mkdir -p ~/.ssh
echo "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/id_ed25516
chmod 600 ~/.ssh/id_ed25516
ssh-keyscan -H -p ${{ secrets.SSH_PORT }} ${{ secrets.SSH_HOST }} >> ~/.ssh/known_hosts
# ─────────────────────────────────────────────
# 3. Verbindung testen (optional, aber empfohlen)
# ─────────────────────────────────────────────
- name: 🔌 SSH-Verbindung testen
run: |
ssh -p ${{ secrets.SSH_PORT }} \
-i ~/.ssh/id_ed25516 \
${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }} \
"echo '✅ SSH-Verbindung erfolgreich' && hostname && date"
# ─────────────────────────────────────────────
# 4. index.html per SCP kopieren
# ─────────────────────────────────────────────
- name: 📤 index.html auf Server kopieren
run: |
scp -P ${{ secrets.SSH_PORT }} \
-i ~/.ssh/id_ed25516 \
./index.html \
${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }}:${{ secrets.DEPLOY_PATH }}/index.html
# ─────────────────────────────────────────────
# 5. Berechtigungen auf dem Server setzen (optional)
# ─────────────────────────────────────────────
- name: 🔧 Dateirechte anpassen
run: |
ssh -p ${{ secrets.SSH_PORT }} \
-i ~/.ssh/id_ed25516 \
${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }} \
"chmod 644 ${{ secrets.DEPLOY_PATH }}/index.html && ls -lah ${{ secrets.DEPLOY_PATH }}/"
# ─────────────────────────────────────────────
# 6. Erfolgsmeldung
# ─────────────────────────────────────────────
- name: ✅ Deployment abgeschlossen
run: echo "🎉 index.html wurde erfolgreich nach ${{ secrets.SSH_HOST }}:${{ secrets.DEPLOY_PATH }} deployed!"