Protokoll der Umstellung mit Aufraeum-Liste, Kommentar Execution-Reminder
- dev/betrieb/2026-10-08-protokoll-umstellung.md: Ergebnis, Releases, Aufraeumen ab 22.10.2026 (Server, Mac, Git-Server), offene Punkte - Kernel: abo:send-execution-reminder ist bewusst aktiv (veralteten Kommentar entfernt) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
e89cffa7b6
commit
f20b2ba1c6
3 changed files with 79 additions and 5 deletions
|
|
@ -77,9 +77,7 @@ class Kernel extends ConsoleKernel
|
|||
->withoutOverlapping(60)
|
||||
->runInBackground();
|
||||
|
||||
// Abo-Einmalprodukte: Reminder-Mail vor der Ausführung (Einmalprodukte-Fenster).
|
||||
// BEWUSST INAKTIV bis zum Abschluss des Review-Gates (Feature aktuell nur VIP
|
||||
// im Sales Center, Portal ausgeblendet). Nach Freigabe einkommentieren:
|
||||
// Abo-Einmalprodukte: Reminder-Mail vor der Ausführung (Einmalprodukte-Fenster)
|
||||
$schedule->command('abo:send-execution-reminder')->dailyAt('06:00');
|
||||
|
||||
// Abo-Chart-Snapshots: vergangene Monate einfrieren (nach allen Abo-Jobs)
|
||||
|
|
|
|||
75
dev/betrieb/2026-10-08-protokoll-umstellung.md
Normal file
75
dev/betrieb/2026-10-08-protokoll-umstellung.md
Normal file
|
|
@ -0,0 +1,75 @@
|
|||
# Protokoll: Umstellung auf Git-Deploy und Betriebsüberwachung (07.–08.10.2026)
|
||||
|
||||
**Stand:** 08.10.2026 · Live auf `v1.2.2` · Anleitung für den laufenden Betrieb: [README.md](README.md)
|
||||
|
||||
## Ergebnis
|
||||
|
||||
| Bereich | Vorher | Jetzt |
|
||||
|---|---|---|
|
||||
| Deploy | SFTP mit Dateilisten | Git-Tag, `bash dev/betrieb/deploy.sh vX.Y.Z` (nur auf Live, bricht vor Änderungen ab) |
|
||||
| Version | unbekannt | Datei `RELEASE`, `php artisan about --only=mivita`, Systemstatus |
|
||||
| Queue | `QUEUE_DRIVER=sync` | Horizon (Ploi-Daemon), `QUEUE_DRIVER=redis`, `after_commit` |
|
||||
| Überwachung | keine | Sysadmin → Systemstatus, `/health` (Token), Scheduler-Herzschlag |
|
||||
| Alarme | keine | Mail bei fehlgeschlagener geplanter Aufgabe oder Queue-Job (1×/h je Meldung) |
|
||||
| Git-Repository | 7,2 GB, `.env` und Schlüssel in der Historie | 41 MB, Historie bereinigt |
|
||||
|
||||
## Releases
|
||||
|
||||
| Tag | Inhalt |
|
||||
|---|---|
|
||||
| `v1.0.0` | erster Git-Release: `deploy.sh`, Version aus `RELEASE`, `public/vendor` versioniert (ausgedünnt), Horizon vorbereitet |
|
||||
| `v1.0.1` | Live-Abgleich: Übersetzungen und Seiten (`partner`, `ueber-uns`, `erreichbarkeit`) von Live übernommen, Laufzeitdateien (`storage/fonts`, `storage/reports`, OAuth-Schlüssel) und `public/phpinfo.php` raus |
|
||||
| `v1.1.0` | Systemstatus im Sysadmin-Bereich, `/health`, Scheduler-Herzschlag |
|
||||
| `v1.1.1` | `bootstrap/cache` nicht mehr versioniert |
|
||||
| `v1.2.0` | Alarm-Mails, kurze `withoutOverlapping`-Sperren |
|
||||
| `v1.2.1` | bereinigte Git-Historie (alle Hashes neu), IDE-Helper-Dateien nicht mehr versioniert |
|
||||
| `v1.2.2` | `deploy.sh` nur bei `APP_ENV=production`, `dev/app-bak` entfernt |
|
||||
|
||||
Alle Tags vor dem 08.10. wurden beim Bereinigen der Historie neu erzeugt; Commit-Hashes in älteren
|
||||
Notizen unter `dev/` gehören zur alten Historie.
|
||||
|
||||
## Erledigt auf dem Server
|
||||
|
||||
- Deploy-Key (nur lesen) für `forge.adametz.media`, Host-Key geprüft, FPM-Reload ohne Passwort getestet
|
||||
- Live-Verzeichnis in einen Git-Checkout umgewandelt; Dateien nur auf Live nach `~/vor-git/` verschoben
|
||||
- `.git` nach der Historien-Bereinigung neu aufgesetzt
|
||||
- `.env`: `MONITORING_HEALTH_TOKEN`, `QUEUE_DRIVER=redis`; Zugangsdaten aus der früheren `.env`-Historie getauscht
|
||||
- Horizon als Ploi-Daemon, Worker-Prüfung grün
|
||||
- Cron: Ploi-Eintrag in `/etc/cron.d/` (`schedule:run` jede Minute, Benutzer `ploi`) — nicht in `crontab -l`
|
||||
- Branches `payment/phase-r-payone-refactoring` und `wip/payment-phase-r-payone-refactoring-2026-09-28` gelöscht; gearbeitet wird auf `master`
|
||||
|
||||
## Aufräumen — ab 22.10.2026, wenn bis dahin nichts aufgefallen ist
|
||||
|
||||
Alles hier sind Sicherungen aus der Umstellung; nichts davon wird von der App benutzt.
|
||||
|
||||
**Auf dem Server** (`ploi@mivita-prod`):
|
||||
|
||||
```bash
|
||||
rm -rf ~/git-alt-2026-10-08 # altes .git vor der Bereinigung (7 GB)
|
||||
rm -rf ~/vor-git # Dateien, die nur auf Live lagen (alte Views, Duplikat-Migrationen, nikki-beach-Bilder, wartung.php, .phpinfo.php, cron_script.sh, Theme-Reste aus public/vendor, IDE-Dateien)
|
||||
rm -f ~/live-abweichungen.tgz # Archiv für den Abgleich
|
||||
rm -f ~/backup-vor-git-2026-10-07.tgz # Sicherung des Live-Verzeichnisses vor der Umwandlung
|
||||
rm -f /home/ploi/mivita.care/storage/logs/scheduler.log # Diagnose-Log vom 07.10.
|
||||
```
|
||||
|
||||
**Auf dem Mac** (im Projektordner, alles unter `_work/`, also nicht versioniert):
|
||||
|
||||
```bash
|
||||
rm -rf _work/git-alt-2026-10-08 # altes .git vor der Bereinigung (7 GB)
|
||||
rm -rf _work/mivita-clean.git # bereinigte Kopie, aus der gepusht wurde
|
||||
rm -rf _work/live-abweichungen _work/live-abweichungen.tgz # Abgleich mit Live
|
||||
rm -rf _work/migrations-duplikate # zwei doppelte Migrationen (Klassen-Konflikt), liegen auch in ~/vor-git
|
||||
rm -f _work/status-vorher.txt # Git-Status vor dem Austausch von .git
|
||||
```
|
||||
|
||||
**In Forgejo und Gitea (NAS):** Garbage Collection auslösen, falls noch nicht geschehen — erst dann
|
||||
sind die alten Objekte (`.env`, Schlüssel, 10-GB-Datei) auch auf den Git-Servern weg.
|
||||
|
||||
## Noch offen
|
||||
|
||||
- **Externer Monitor auf `/health`** (Uptime Kuma auf dem Monitoring-Server oder z. B. UptimeRobot):
|
||||
der Systemstatus zeigt Fehler nur, wenn ihn jemand öffnet; ein Serverausfall fällt so nicht auf.
|
||||
- **Passport-Schlüssel** (`storage/oauth-*.key`) standen bis 08.10. in der Git-Historie. Falls sie nicht
|
||||
mit den Zugangsdaten getauscht wurden: `php artisan passport:keys --force` — alle API-Tokens werden ungültig.
|
||||
- **Monitoring-Server** (GlitchTip, ntfy) aus `dev/git-deploy-monitoring/` — ntfy ist in `config/monitoring.php`
|
||||
vorbereitet (`MONITORING_NTFY_*`).
|
||||
|
|
@ -1,6 +1,7 @@
|
|||
# Betrieb mivita.care — Git-Deploy per Tag
|
||||
|
||||
**Stand:** 07.10.2026 · Vorlage und Hintergründe: [`dev/git-deploy-monitoring/`](../git-deploy-monitoring/README.md)
|
||||
**Stand:** 08.10.2026 · Vorlage und Hintergründe: [`dev/git-deploy-monitoring/`](../git-deploy-monitoring/README.md) ·
|
||||
Protokoll der Umstellung mit Aufräum-Liste: [2026-10-08-protokoll-umstellung.md](2026-10-08-protokoll-umstellung.md)
|
||||
|
||||
Ausgeliefert wird ein **Git-Tag** (`vX.Y.Z`), nie ein Branch-Stand und keine Dateiliste per SFTP.
|
||||
Das Live-Verzeichnis ist ein Git-Checkout dieses Tags; [`deploy.sh`](deploy.sh) führt den Deploy
|
||||
|
|
@ -9,7 +10,7 @@ von Hand per SSH aus und bricht ab, **bevor** es etwas verändert, wenn etwas ni
|
|||
| | Wert |
|
||||
|---|---|
|
||||
| Server | Ploi, Benutzer `ploi`, PHP-FPM 8.4 (`php8.4-fpm`), Redis lokal |
|
||||
| Queue | Horizon als Ploi-Daemon, `QUEUE_DRIVER=redis` (bis zur Umstellung F: `sync`) |
|
||||
| Queue | Horizon als Ploi-Daemon, `QUEUE_DRIVER=redis` (aktiv seit 08.10.2026) |
|
||||
| Live-Verzeichnis | `/home/ploi/mivita.care` |
|
||||
| Git-Server (Deploy liest hier) | `origin` = `ssh://git@forge.adametz.media:222/kadmin/mivita.git` |
|
||||
| Release-Branch | `master` — Tags werden auf `master` gesetzt |
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue