Provare e debuggare il processo di rilascio è spesso rimandato alla fine di un progetto. Nella mia esperienza, finora, non ho nemmeno mai visto progettare e/o pensare un processo di rilascio/installazione. Quello che ho sempre visto è il programmatore/consulente di turno compilare il programma col suo PC e con un processo manuale (copia-incolla-cambia stringa nel file config-fai un update nel database) portare a conclusione il deployment.
Siamo nel 2016 ed esistono mille tool/software che svolgono egregiamente questo compito introducendo automazione e riducendo il rischio di errore (cazzo il file di configurazione punta al database di test!).
Penso che sia un punto critico da affrontare perché questo processo è il primo che un cliente nuovo vede e dovrebbe essere affidabile (o al limite facile da aggiustare).
C’è un progetto in azienda che è nelle sue prime settimane di vita e potrebbe essere interessante inserire proprio qui una progettazione anticipata del rilascio e dell’installazione.
Immagino che per avere un processo di installazione efficace dovremmo dotarci di:
- Un ambiente (virtual machine o reale) che simuli una postazione utente con niente installato dove installare e configurare l’applicazione di turno;
- Un altro ambiente che simuli un server pulito dove testare una installazione di SQL Server via riga di comando e con file di configurazione con successivo script di creazione e inserimento dati di base nel db;
- Possibilità di resettare questi ambienti a piacimento (snapshot delle VM?);
- Testare il processo di aggiornamento automatico della postazione utente.
- Usare strumenti il più semplici possibili per concludere queste attività.
Suggerimenti?