sattelfest/deploy/forgejo-post-receive.sh

24 lines
781 B
Bash

#!/usr/bin/env bash
# Forgejo Build-Hook für die Umgebung mit Apache.
# Eintragen unter: Repo -> Einstellungen -> Git-Hooks -> post-receive.
# (Voraussetzung: Admin hat Git-Hooks aktiviert, siehe Anleitung.)
#
# Ablauf: Code auschecken -> bauen -> Ergebnis in den Apache-DocumentRoot kopieren.
set -euo pipefail
WORKTREE=/srv/sattelfest # Arbeits-/Build-Verzeichnis (Quellcode)
PUBLISH=/var/www/sattelfest # Apache DocumentRoot (fertige Website)
export PATH="/usr/local/bin:/usr/bin:/bin:$PATH"
git --work-tree="$WORKTREE" checkout -f main
cd "$WORKTREE"
npm install --no-audit --no-fund
npm run build
# Fertige Dateien in den DocumentRoot spiegeln (--delete entfernt Altes).
rsync -a --delete "$WORKTREE/dist/" "$PUBLISH/"
echo "✅ Deploy fertig: $(date)"