Io e il mio gruppo siamo orrendi nell'incrementare i numeri di versione degli assembly e spesso spediamo gli assembly con le versioni 1.0.0.0. Ovviamente, questo provoca molti mal di testa.
Stiamo migliorando molto con le nostre pratiche tramite la nostra piattaforma CI e mi piacerebbe davvero impostarlo per aumentare automaticamente i valori all'interno del assemblyinfo.cs
file in modo che le versioni dei nostri assembly vengano aggiornate automaticamente con le modifiche al codice in quell'assembly.
In precedenza avevo impostato (prima di trovare Hudson ) un modo per aumentare il valore tramite una msbuild
o la riga di comando (non ricordo), ma con Hudson, questo aggiornerà il repository SVN e attiverà UN ALTRO build. Ciò si tradurrebbe in un ciclo infinito lento poiché Hudson interroga SVN ogni ora.
Avere Hudson che incrementa il numero di versione è una cattiva idea? Quale sarebbe un modo alternativo per farlo?
Idealmente, i miei criteri per una soluzione sarebbero quelli che:
- Incrementa il numero di build
assemblyinfo.cs
prima di una build - Aumenta solo il numero di build negli assembly che sono stati modificati. Ciò potrebbe non essere possibile poiché Hudson cancella la cartella del progetto ogni volta che esegue una build
- Salva il file assemblyinfo.cs modificato nel repository di codice (attualmente VisualSVN )
- Non fa sì che Hudson attivi una nuova build la prossima volta che esegue la scansione per le modifiche
Elaborando questo nella mia testa, potrei facilmente trovare una soluzione alla maggior parte di questo tramite file / comandi batch, ma tutte le mie idee farebbero sì che Hudson avvii una nuova build la prossima volta che esegue la scansione. Non sto cercando qualcuno che faccia tutto per me, mi metta solo nella giusta direzione, forse una tecnica per convincere Hudson a ignorare determinati impegni SVN, ecc.
Tutto quello che ho trovato finora è solo un articolo che spiega come ottenere il numero di versione incrementato automaticamente, nulla tiene conto di una piattaforma CI che potrebbe essere trasformata in un ciclo infinito.