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.
21 lines
707 B
Bash
Executable File
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"
|