| @@ -0,0 +1,66 @@ | |||||
| #!/bin/bash | |||||
| set -e | |||||
| # ══════════════════════════════════════════════════════════════════════ | |||||
| # Konfiguration – einmalig anpassen | |||||
| # ══════════════════════════════════════════════════════════════════════ | |||||
| # Verzeichnis des Git-Repos | |||||
| GIT_DIR="/var/www/vhosts/memap.de/httpdocs/timetracking/timetracking-git-repo" | |||||
| # Verzeichnis, aus dem die App tatsächlich läuft (Document Root eine Ebene drüber) | |||||
| APP_DIR="/var/www/vhosts/memap.de/httpdocs/timetracking/timetracking-copy" | |||||
| # Binaries | |||||
| PHP="/usr/bin/php8.2" | |||||
| COMPOSER="/usr/local/bin/composer" | |||||
| NPM="/usr/bin/npm" | |||||
| # ══════════════════════════════════════════════════════════════════════ | |||||
| echo "" | |||||
| echo "╔══════════════════════════════════════╗" | |||||
| echo "║ spawntree Timetracker – Deploy ║" | |||||
| echo "╚══════════════════════════════════════╝" | |||||
| echo "" | |||||
| # ── 1. Git aktualisieren ─────────────────────────────────────────────── | |||||
| echo "⏳ [1/7] Git pull..." | |||||
| git -C "$GIT_DIR" pull | |||||
| # ── 2. Dateien ins App-Verzeichnis synchronisieren ──────────────────── | |||||
| echo "⏳ [2/7] Dateien synchronisieren..." | |||||
| rsync -av --delete \ | |||||
| --exclude=".git" \ | |||||
| --exclude="node_modules" \ | |||||
| --exclude="var/cache" \ | |||||
| --exclude="var/log" \ | |||||
| --exclude=".env.local" \ | |||||
| --exclude=".env.*.local" \ | |||||
| "$GIT_DIR/" "$APP_DIR/" | |||||
| # ── 3. Composer Dependencies installieren ───────────────────────────── | |||||
| echo "⏳ [3/7] Composer install..." | |||||
| cd "$APP_DIR" | |||||
| "$COMPOSER" install --no-dev --optimize-autoloader --no-interaction | |||||
| # ── 4. Central-Migrationen ausführen ────────────────────────────────── | |||||
| echo "⏳ [4/7] Central-Migrationen..." | |||||
| "$PHP" bin/console doctrine:migrations:migrate --em=central --no-interaction | |||||
| # ── 5. Tenant-Schemas aktualisieren ─────────────────────────────────── | |||||
| echo "⏳ [5/7] Tenant-Schemas aktualisieren..." | |||||
| "$PHP" bin/console app:update-tenant-schema | |||||
| # ── 6. Cache leeren ─────────────────────────────────────────────────── | |||||
| echo "⏳ [6/7] Cache leeren..." | |||||
| "$PHP" bin/console cache:clear | |||||
| # ── 7. Assets bauen ─────────────────────────────────────────────────── | |||||
| echo "⏳ [7/7] Assets bauen (npm)..." | |||||
| "$NPM" ci | |||||
| "$NPM" run build | |||||
| echo "" | |||||
| echo "✅ Deploy abgeschlossen." | |||||
| echo "" | |||||