Produkcja i wdrożenie
Przygotuj wartości środowiskowe, pozwól Lemonade korzystać z produkcyjnego config cache i wdrażaj tylko artefakty rzeczywiście potrzebne przez runtime.
Tryb produkcyjny zaczyna się od środowiska
Zachowanie produkcyjne zależy przede wszystkim od APP_ENV, APP_DEBUG oraz wartości aplikacji takich jak APP_BASE_URL. development i testing ładują konfigurację bezpośrednio ze źródeł. production, prod i inne środowiska nie-deweloperskie działają jak runtime produkcyjny i mogą używać skompilowanego config cache.
APP_ENV=production
APP_DEBUG=0
APP_BASE_URL=https://example.comJak działa skompilowany config cache
Pliki YAML i rozwiązane wartości środowiskowe pozostają źródłem prawdy. W trybie produkcyjnym ConfigLoader najpierw próbuje ApplicationConfigCache::loadIfFresh(). Jeśli cache nie istnieje, jest nieaktualny albo zmieniło się śledzone źródło, framework ponownie ładuje konfigurację i automatycznie zapisuje świeży cache. Osobne polecenia config:cache i config:clear nie są obecnie potrzebne.
production HTTP request or CLI command
-> ConfigLoader::loadApplication(...)
-> ApplicationConfigCache::loadIfFresh(...)
-> on cache miss: load source config and write a fresh compiled cacheZapisywalne katalogi runtime
Wdrożona aplikacja potrzebuje prawa zapisu w storage/ dla skompilowanego config cache, logów, sesji i uploadów, jeśli te funkcje są włączone. Pliki generowane trzymaj w storage/, nie commituj ich i nie traktuj jako źródła prawdy.
storage/cache/framework/config/
storage/logs/
storage/sessions/
storage/uploads/Praktyczna lista wdrożeniowa Lemonade
- Przed wdrożeniem: przygotuj wartości środowiskowe i secrets, wdroż konfigurację YAML i zbuduj zoptymalizowany autoloader Composera.
- Podczas wdrożenia: opublikuj kod i sprawdź zapisywalne katalogi w
storage/. - Po wdrożeniu: pozwól pierwszemu produkcyjnemu requestowi HTTP lub poleceniu CLI utworzyć config cache, sprawdź logowanie i uruchamiaj workery
vendor/bin/lemonadelub zadania cykliczne tylko wtedy, gdy aplikacja rzeczywiście ich używa. - Szczegóły storage runtime znajdziesz w Infrastrukturze, a diagnostykę w sekcji Błędy i debugowanie.
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