Leitfaden

Produktion & Deployment

Bereite Umgebungswerte vor, nutze Lemonades produktiven Config-Cache und deploye nur die Artefakte, die die Runtime tatsächlich braucht.

Produktionsmodus beginnt mit der Umgebung

Das Produktionsverhalten wird vor allem von APP_ENV, APP_DEBUG und Anwendungswerten wie APP_BASE_URL gesteuert. development und testing laden Konfiguration direkt aus den Quellen. production, prod und andere nicht entwicklungsbezogene Umgebungen verhalten sich wie Produktions-Runtimes und können den kompilierten Config-Cache verwenden.

example.php
APP_ENV=production
APP_DEBUG=0
APP_BASE_URL=https://example.com

So funktioniert der kompilierte Config-Cache

YAML-Dateien und aufgelöste Umgebungswerte bleiben die Quelle der Wahrheit. Im Produktionsmodus versucht ConfigLoader zuerst ApplicationConfigCache::loadIfFresh(). Fehlt der Cache, ist er veraltet oder hat sich eine überwachte Quelle geändert, lädt das Framework die Konfiguration neu und schreibt automatisch einen frischen Cache. Separate Befehle config:cache und config:clear sind derzeit nicht nötig.

example.php
production HTTP request or CLI command
-> ConfigLoader::loadApplication(...)
-> ApplicationConfigCache::loadIfFresh(...)
-> on cache miss: load source config and write a fresh compiled cache

Beschreibbare Runtime-Verzeichnisse

Eine deployte Anwendung braucht Schreibzugriff unter storage/ für den kompilierten Config-Cache, Logs, Sessions und Uploads, sofern diese Features aktiv sind. Generierte Dateien bleiben unter storage/, werden nicht committed und gelten nicht als Quelle der Wahrheit.

example.php
storage/cache/framework/config/
storage/logs/
storage/sessions/
storage/uploads/

Praktische Lemonade-Deployment-Checkliste

  • Vor dem Deployment: Umgebungswerte und Secrets vorbereiten, YAML-Konfiguration ausliefern und einen optimierten Composer-Autoloader erzeugen.
  • Während des Deployments: Code veröffentlichen und beschreibbare Verzeichnisse unter storage/ prüfen.
  • Nach dem Deployment: Den ersten produktiven HTTP-Request oder CLI-Befehl den Config-Cache erzeugen lassen, Logging prüfen und vendor/bin/lemonade-Worker oder geplante Befehle nur starten, wenn die Anwendung sie tatsächlich verwendet.
  • Details zum Runtime-Speicher findest du unter Infrastruktur, Diagnosen unter Fehler & Debugging.
example.php
composer install --no-dev --optimize-autoloader
vendor/bin/lemonade about

# Optional when the app uses queue workers
vendor/bin/lemonade queue:install
vendor/bin/lemonade queue:work default database