From 5d988b28b728024d8952f7724263f819c795e00f Mon Sep 17 00:00:00 2001 From: maik Date: Tue, 18 Aug 2026 16:43:43 +0200 Subject: [PATCH] ci: Gitea-Actions Deploy-Workflow (docker compose, LFS-aware) --- .gitea/workflows/deploy.yml | 45 +++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 .gitea/workflows/deploy.yml diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml new file mode 100644 index 0000000..484acdd --- /dev/null +++ b/.gitea/workflows/deploy.yml @@ -0,0 +1,45 @@ +name: Deploy + +# 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. + +on: + push: + branches: [main] + workflow_dispatch: {} + +concurrency: + group: deploy-${{ github.ref }} + 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). + 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 + fetch-depth: 1 + + - name: LFS-Dateien sicherstellen + run: git lfs pull + + - name: Container bauen & neu starten + run: | + docker compose up -d --build --remove-orphans + docker image prune -f + + - name: Healthcheck + run: | + for i in $(seq 1 15); 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 + done + echo "FEHLER: Seite antwortet nicht auf :8066"; exit 1