scripts + gitignore: auto-deploy.sh ins Repo, backups/ und ._* ignorieren

scripts/auto-deploy.sh lebte bisher nur auf dem dev-Server unter
/opt/gwoe-antragspruefer-dev/scripts/. Ohne Repo-Tracking war eine
Aenderung des Skripts nicht versionierbar und ein Disaster-Recovery
muehsam (manuelles Wiederherstellen aus Restic).

.gitignore-Ergaenzungen:
- backups/ — neu eingefuehrt mit dem 2.0-Cut + dem backup-db.sh-Fix,
  der jetzt projekt-relativ schreibt. Das Verzeichnis ist Daten-Volume,
  gehoert nicht ins Repo.
- ._* — macOS-AppleDouble-Resource-Forks; tauchen auf wenn das
  Repo-Verzeichnis ueber AFP/SMB/Nextcloud-Sync gegangen ist.
This commit is contained in:
Dotty Dotter 2026-05-10 13:31:58 +02:00
parent d5b8cf4573
commit bb80963f5c
2 changed files with 25 additions and 0 deletions

5
.gitignore vendored
View File

@ -8,6 +8,7 @@ venv/
# Data (persistent on server, not in repo) # Data (persistent on server, not in repo)
data/ data/
reports/ reports/
backups/
# IDE # IDE
.idea/ .idea/
@ -17,6 +18,10 @@ reports/
# OS # OS
.DS_Store .DS_Store
Thumbs.db 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/ site/
# Coverage reports (Phase 3 von #134, ADR 0007) # Coverage reports (Phase 3 von #134, ADR 0007)

20
scripts/auto-deploy.sh Executable file
View File

@ -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"