Come devo gestire la distribuzione di applicazioni Web su più server?
Vincoli
Ho un ambiente dev, test e prod. Nessun server di build disponibile. Gli sviluppatori non possono distribuire a prod. Le persone che si distribuiscono a prod copiare i file da test a prod. Non hanno installato VS.
Attualmente
Il modo in cui viene gestito utilizza la trasformazione web.config. Tuttavia, per essere implementato su prod è necessario inserire il codice prodotto sul server di test su cui è copiato.
problema
A volte si commettono semplici errori, come dimenticare di cambiare il test nell'ambiente giusto dopo la distribuzione. Oppure la configurazione di test viene spostata su prod invece della config.
Soluzione
Quindi la domanda è: qual è il modo migliore per evitare che si verifichino degli errori?
Il mio primo pensiero è lasciare che l'app determini quale server è acceso in fase di esecuzione e usa le impostazioni appropriate / stringhe di connessione / etc ... Tuttavia, i nomi dei server potrebbero cambiare in un futuro non troppo lontano. Quindi se più app sono hard codificate, significherebbe aggiornarle tutte. Il modo più semplice per gestire tale situazione è inserire una DLL nel GAC che determina l'ambiente.
Esistono inconvenienti o possibili complicazioni che ciò potrebbe causare? O c'è una soluzione migliore per questo problema?