Come scaricare i pacchetti NuGet nel mondo CI

5

Sto cercando di implementare l'elemento della configurazione per uno dei miei progetti che genera un pacchetto NuGet che viene pubblicato nel nostro repository NuGet privato. Ovviamente, per le applicazioni dipendenti per vedere i nuovi pacchetti come aggiornamenti, devono avere numeri di versione più alti. Per ottenere ciò, stiamo permettendo a MS Build di aggiungere il numero di build alla fine della versione del pacchetto usando AssemblyInformationalVersionAttribute. Anche se questo sembra funzionare alla grande, il numero di build si ricicla quando raggiunge 65535, il che significa che è possibile avere build con la stessa versione major, minore e patch ma un numero di build più piccolo che è in realtà più recente di quelli con un numero di build più grande. / p>

Usiamo VS 2015 (quindi MS Build 14), Git per il controllo del codice sorgente e Jenkins per eseguire i nostri lavori di compilazione in un ambiente aziendale in cui sono in esecuzione numerosi altri lavori.

Sto cercando le migliori pratiche e soluzioni per la gestione del controllo delle versioni dei pacchetti NuGet in un processo di configurazione dati, dati questi limiti.

    
posta SonOfPirate 29.08.2016 - 22:07
fonte

1 risposta

1

Usiamo GitVersion insieme a un file GitVersion.yml e rami GitFlow in Git per gestirlo. Il file GitVersion.yml imposta la versione base dell'articolo, ad es. 1.2.3 mentre GitVersion assegna l'ultima parte in base al numero di commit. Questo è altamente personalizzabile.

Permettiamo a GitVersion di aggiornare le versioni nei nostri file AssemblyInfo.cs che include una versione informativa contenente il ramo e l'hash Git che ha prodotto la build. Per i nostri pacchetti NuGet, il ramo determina se sono instabili (sviluppo) o stabili (rilascio / master con tag).

Ci sono plug-in per msbuild e TFS / VSTS per permetterti di eseguire GitVersion come parte di una build. Poiché è possibile eseguire GitVersion.exe dalla riga di comando, è consigliabile integrarlo bene con Jenkins.

    
risposta data 17.05.2018 - 15:57
fonte

Leggi altre domande sui tag