gwoe-antragspruefer/scripts/auto-deploy.sh
Dotty Dotter bb80963f5c 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.
2026-05-10 13:31:58 +02:00

21 lines
707 B
Bash
Executable File

#!/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"