From b781ec20a562fadb31b98ee9089b34bcecc1dc8e Mon Sep 17 00:00:00 2001 From: Pixel Date: Sun, 8 Mar 2026 21:21:28 +0100 Subject: [PATCH] ci: configure Gitea Actions pipeline for auto-deploy via SSH --- .gitea/workflows/deploy.yml | 54 ++++++++++++++++++++++++++++++++----- 1 file changed, 47 insertions(+), 7 deletions(-) diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index a328795..ff50e91 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -1,15 +1,55 @@ -name: Deploy Pixel Website -on: [push] +name: Deploy Pixel Website (Tor der Wandlerin) + +on: + push: + branches: + - main jobs: build-and-deploy: runs-on: ubuntu-latest + steps: - name: Checkout Code uses: actions/checkout@v4 - - name: Build and Copy - run: | - # Hier kämen deine Build-Befehle, z.B. npm install && npm run build - # Danach das Deployment in den Web-Ordner: - cp -r ./dist/* /var/www/pixel-faebits/ \ No newline at end of file + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: '20' + cache: 'npm' + + - name: Install Dependencies + run: npm install --legacy-peer-deps || npm install + + - name: Build Project + run: npm run build || bun run build + + - name: Deploy to Server via SSH + uses: appleboy/ssh-action@v1.0.0 + with: + host: ${{ secrets.HOST }} + username: ${{ secrets.USERNAME }} + key: ${{ secrets.SSH_KEY }} + port: ${{ secrets.PORT || 2223 }} + script: | + echo "🚀 Starte Deployment für pixel.faebits.com..." + + # 1. Projektverzeichnis wechseln + cd /home/mimug/docker/pixel-faebits || exit 1 + + # 2. Code aktualisieren (falls nötig, aber wir haben den Build schon im Runner) + # git pull origin main + + # 3. Build-Artefakte vom Runner kopieren (wenn der Runner Dateien senden kann) + # Alternativ: Build direkt auf dem Host machen (falls Node.js installiert ist) + # Hier nutzen wir den Build aus dem Runner und kopieren die dist/ + + # 4. Docker-Image neu bauen und Container starten + echo "🐳 Baue Docker-Image neu..." + docker compose -f /home/mimug/docker/ai-stack/docker-compose.yml build faebits-pixel + + echo "🔄 Starte Container neu..." + docker compose -f /home/mimug/docker/ai-stack/docker-compose.yml up -d faebits-pixel + + echo "🎉 Deploy abgeschlossen! pixel.faebits.com ist live."