From b72d35703e89c78a1cb559070786dfd218744426 Mon Sep 17 00:00:00 2001 From: maik Date: Tue, 18 Aug 2026 17:06:47 +0200 Subject: [PATCH] ci: Deploy-Workflow auf Hugo/Docker korrigiert (war Node-Template); LFS im Checkout --- .gitea/workflows/deploy.yml | 35 +++++++++++++++++++---------------- 1 file changed, 19 insertions(+), 16 deletions(-) diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index 484acdd..00e4ec0 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -1,7 +1,7 @@ -name: Deploy +name: Build & Deploy Website -# Baut die Seite und startet den nginx-Container (Port 8066) bei jedem Push auf main neu. -# Nutzt das vorhandene Dockerfile (Hugo-Build im Container) + docker-compose.yml. +# Hugo-Projekt (kein Node!). Baut das Image via Dockerfile (Hugo-Build im Container) +# und startet den nginx-Container (Port 8066) neu. Runner + nginx laufen auf 10.161.30.38. on: push: @@ -9,37 +9,40 @@ on: workflow_dispatch: {} concurrency: - group: deploy-${{ github.ref }} + group: deploy-main cancel-in-progress: true jobs: deploy: - # Der Runner MUSS Zugriff auf Docker haben und auf dem Host laufen, der die - # Seite ausliefert (bzw. Zugriff auf dessen Docker-Socket haben). - # Ggf. das Label an deinen Gitea-Act-Runner anpassen (z. B. self-hosted). + # WICHTIG: Muss zu einem Label deines Gitea-Runners passen (Gitea → Admin/Repo → Runners). + # Der Runner braucht Zugriff auf Docker (Host-Runner ODER Container-Runner mit + # gemountetem /var/run/docker.sock). Ohne Docker-Zugriff schlägt der Deploy fehl. runs-on: ubuntu-latest steps: - name: Checkout inkl. Git LFS uses: actions/checkout@v4 with: - lfs: true # ZWINGEND: sonst kommen LFS-Pointer statt Bilder/Fonts an + lfs: true # ZWINGEND – sonst kommen LFS-Pointer statt Bilder/Fonts an fetch-depth: 1 - - name: LFS-Dateien sicherstellen + - name: LFS-Dateien holen run: git lfs pull - name: Container bauen & neu starten - run: | - docker compose up -d --build --remove-orphans - docker image prune -f + run: docker compose up -d --build --remove-orphans - - name: Healthcheck + - name: Alte Images aufräumen + run: docker image prune -f + + - name: Healthcheck (:8066) run: | - for i in $(seq 1 15); do + for i in $(seq 1 20); do if wget -qO- http://localhost:8066/ >/dev/null 2>&1; then echo "OK: Seite antwortet auf :8066"; exit 0 fi - echo "warte auf Container … ($i)"; sleep 2 + echo "warte auf Container … ($i/20)"; sleep 3 done - echo "FEHLER: Seite antwortet nicht auf :8066"; exit 1 + echo "FEHLER: Seite antwortet nicht auf :8066" + docker compose logs --tail=50 || true + exit 1