Návod

Produkce a nasazení

Připrav hodnoty prostředí, nech Lemonade využít produkční config cache a nasazuj jen artefakty, které runtime skutečně potřebuje.

Produkční režim začíná prostředím

Produkční chování řídí hlavně APP_ENV, APP_DEBUG a aplikační hodnoty jako APP_BASE_URL. development a testing načítají konfiguraci přímo ze zdrojů. production, prod a další ne-vývojové režimy se chovají jako produkční runtime a mohou používat kompilovanou config cache.

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

Jak funguje kompilovaná config cache

YAML soubory i vyhodnocené hodnoty z prostředí zůstávají zdrojem pravdy. V produkčním režimu nejdřív ConfigLoader zkusí ApplicationConfigCache::loadIfFresh(). Pokud cache chybí, je zastaralá nebo se změnil sledovaný zdroj, framework načte konfiguraci znovu a čerstvou cache zapíše automaticky. Samostatné příkazy config:cache ani config:clear aktuálně nejsou potřeba.

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

Zapisovatelné adresáře runtime

Nasazená aplikace potřebuje zapisovat do storage/ pro kompilovanou config cache, logy, session a uploady, pokud jsou tyto části zapnuté. Generované soubory nech pod storage/, necommituj je a nepovažuj je za zdroj pravdy.

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

Praktický checklist pro nasazení

  • Před nasazením: připrav hodnoty prostředí a secrets, nasaď YAML konfiguraci a vytvoř optimalizovaný Composer autoload.
  • Během nasazení: nahraj kód a ověř zapisovatelné adresáře pod storage/.
  • Po nasazení: nech první produkční HTTP request nebo CLI command vytvořit config cache, ověř logování a spouštěj vendor/bin/lemonade workery nebo plánované commandy jen tehdy, když je aplikace opravdu používá.
  • Detaily runtime úložiště najdeš v Infrastruktuře a diagnostiku v sekci Chyby a ladění.
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