ci: Gitea-Actions Deploy-Workflow (docker compose, LFS-aware)
This commit is contained in:
@@ -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
|
||||||
Reference in New Issue
Block a user