diff --git a/.gitignore b/.gitignore index f124ae5..03050b4 100644 --- a/.gitignore +++ b/.gitignore @@ -8,6 +8,7 @@ venv/ # Data (persistent on server, not in repo) data/ reports/ +backups/ # IDE .idea/ @@ -17,6 +18,10 @@ reports/ # OS .DS_Store Thumbs.db +# macOS AppleDouble-Resource-Forks aus Nextcloud-/SMB-Sync — kein Code, +# tauchen aber als untracked auf wenn das Repo-Verzeichnis ueber AFP/SMB +# kopiert wurde. +._* site/ # Coverage reports (Phase 3 von #134, ADR 0007) diff --git a/scripts/auto-deploy.sh b/scripts/auto-deploy.sh new file mode 100755 index 0000000..b42b0fd --- /dev/null +++ b/scripts/auto-deploy.sh @@ -0,0 +1,20 @@ +#!/bin/bash +# Dev-Auto-Deploy: alle 5 Minuten via Cron. +# Pullt main aus dem Gitea-Repo und baut den Dev-Container neu wenn es Aenderungen gibt. +# Die Compose-Datei docker-compose.dev.yml liegt im Repo (main) — bleibt +# also nach `git reset --hard origin/main` erhalten. +set -euo pipefail +cd /opt/gwoe-antragspruefer-dev + +OLD_HEAD=$(git rev-parse HEAD) +git fetch origin main --quiet +NEW_HEAD=$(git rev-parse origin/main) + +if [ "$OLD_HEAD" = "$NEW_HEAD" ]; then + exit 0 # Nothing to do +fi + +echo "$(date -Iseconds) auto-deploy: $OLD_HEAD -> $NEW_HEAD" +git reset --hard origin/main >/dev/null +docker compose -f docker-compose.dev.yml up -d --build 2>&1 | tail -10 +echo "$(date -Iseconds) auto-deploy done"