Produzione e deployment
Prepara i valori d’ambiente, lascia che Lemonade usi la config cache di produzione e distribuisci solo gli artefatti realmente necessari al runtime.
La modalità produzione parte dall’ambiente
Il comportamento in produzione dipende soprattutto da APP_ENV, APP_DEBUG e valori applicativi come APP_BASE_URL. development e testing caricano la configurazione direttamente dalle sorgenti. production, prod e altri ambienti non di sviluppo si comportano come runtime di produzione e possono usare la config cache compilata.
APP_ENV=production
APP_DEBUG=0
APP_BASE_URL=https://example.comCome funziona la config cache compilata
I file YAML e i valori d’ambiente risolti restano la fonte di verità. In modalità produzione ConfigLoader prova prima ApplicationConfigCache::loadIfFresh(). Se la cache manca, è obsoleta o una sorgente monitorata è cambiata, il framework ricarica la configurazione e scrive automaticamente una cache nuova. I comandi separati config:cache e config:clear al momento non sono necessari.
production HTTP request or CLI command
-> ConfigLoader::loadApplication(...)
-> ApplicationConfigCache::loadIfFresh(...)
-> on cache miss: load source config and write a fresh compiled cacheDirectory runtime scrivibili
Un’applicazione distribuita deve poter scrivere in storage/ per la config cache compilata, i log, le session e gli upload quando queste feature sono attive. Mantieni i file generati sotto storage/, non committarli e non trattarli come fonte di verità.
storage/cache/framework/config/
storage/logs/
storage/sessions/
storage/uploads/Checklist pratica per il deployment
- Prima del deployment: prepara valori d’ambiente e secrets, distribuisci la configurazione YAML e genera un autoloader Composer ottimizzato.
- Durante il deployment: pubblica il codice e verifica le directory scrivibili sotto
storage/. - Dopo il deployment: lascia che la prima request HTTP di produzione o il primo comando CLI crei la config cache, verifica il logging ed esegui worker
vendor/bin/lemonadeo comandi schedulati solo se l’applicazione li usa davvero. - Consulta Infrastruttura per lo storage runtime ed Errori e debug per la diagnostica.
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