Il modo migliore per eseguire la distribuzione post-build di Visual Studio in un ambiente di team?
-
09-06-2019 - |
Domanda
Lavoro in un ambiente di squadra in cui ogni sviluppatore lavora dal proprio desktop locale e lo distribuisce su una macchina virtuale di sua proprietà in rete.Quello che sto cercando di fare è configurare la soluzione Visual Studio in modo che quando creano la soluzione la distribuzione di ogni progetto venga gestita nell'evento post-compilazione sulla macchina virtuale dello sviluppatore.
Quello che mi piacerebbe davvero fare è dare la proprietà di quegli script anche al singolo sviluppatore in modo che siano proprietari dei passaggi post-costruzione e non debbano essere gli stessi per tutti.
Un paio di domande:
- Un evento post-compilazione è il luogo adatto per eseguire questo tipo di operazione di distribuzione?Altrimenti qual è il posto migliore per farlo?
- Quali software, strumenti o tutorial/post di blog sono disponibili per assistere nello sviluppo di un sistema di distribuzione automatica che supporti questi scenari?
Modificare: MSBuild sembra essere la strada da percorrere in questa situazione.Qualcuno usa tecnologie alternative con successo?
Modificare: Se stai leggendo questa domanda e ti chiedi come eseguire un insieme diverso di attività MSBuild per ogni sviluppatore, consulta questa domanda; Eseguire diversi set di attività MSBuild per ciascun utente?
Soluzione
Se utilizzi Visual Studio 2005 o versione successiva, i file di progetto sono file MSBUild.All'interno del file MsBuild è presente una destinazione "AfterBuild".Consiglierei di utilizzarlo per eseguire le attività di distribuzione, anziché l'evento post build.
Utilizzando le attività MSBuild, sei più preparato a passare a un sistema di integrazione continua come CruiseControl.NET o Team City.
Non sono sicuro del motivo per cui tutti i tuoi sviluppatori abbiano le proprie macchine virtuali, sembrerebbe che a un certo punto vorresti una posizione centrale dove tutti gli sviluppatori lavorano per garantire che il codice di tutti gli sviluppatori venga integrato e creato (questo è un motivo dell’utilizzo di sistemi di Integrazione Continua).Sono sicuro che puoi trovare un modo in cui CruiseControl.Net o Team City o una delle tante altre scelte possano aiutarti in questo scenario.Ma per quanto riguarda la configurazione iniziale, usa MSBuild.
Altri suggerimenti
esaminerei MSBuild o ANT