Sono uno sviluppatore e ho avuto diverse esperienze nella distribuzione di applicazioni web che sono le seguenti:
- Distribuisci tutti i file quindi applica i valori di configurazione appropriati per l'ambiente. Abbiamo utilizzato questo stile di implementazione per i software più grandi con lunghi cicli di sviluppo e le versioni rapide non sono necessarie o permesse a meno che non si tratti di situazioni di emergenza.
- Distribuisci solo ciò che è cambiato; aggiornare manualmente i file di configurazione con la configurazione nuova o aggiornata in base all'ambiente. Abbiamo usato questo stile per le applicazioni web che tendono ad essere più agili, ad esempio la correzione e le release delle funzionalità sono quasi quotidianamente eseguite. Ho riscontrato problemi con ciò in cui non sono stati identificati tutti gli assembly dipendenti da un assembly che è stato modificato (Un valore costante era cambiato nell'assembly A e veniva utilizzata la stessa costante nell'assembly B e solo l'assembly A identificato come modificato).
Quale delle 2 è una pratica migliore (o migliore)? Sto iniziando un nuovo progetto di medie dimensioni in cui le implementazioni avverranno su base mensile e vorrei stabilire questo processo in anticipo.