che funziona con più librerie e versioni utilizzando il feed locale di nuget

1

quindi sono in una posizione in cui dubito della mia soluzione al seguente problema:  - stiamo sviluppando un'applicazione desktop wpf con c # e un buon sistema di plugin. Questo aumenta le librerie che abbiamo nel sistema (più repository git, librerie multiple). Le librerie vengono quindi pacchettizzate sul nostro server nuget locale. Il problema è che dobbiamo aggiornare la versione e chiamare il pacchetto nuget anche per build locali e amp; test. alla fine una libreria potrebbe avere 100 numeri di versione prima che una funzione sia completata.

Mi è venuta l'idea che avremmo avuto 2 server Nuget diversi. uno per le build di rilascio delle librerie e uno per le build di debug. Il problema sarebbe che le versioni di debug sarebbero molto più alte delle versioni di rilascio. Questo potrebbe essere fatto con la versione jenkins del sistema completo, ma aumenterebbe il tempo di rilascio in modo astronomico perché il progetto principale deve registrare queste librerie (servizi) facendo riferimento a una versione.

le librerie stesse hanno dipendenze con altre librerie o librerie private e quindi sono registrate con un contenitore IoC. Questo ci dà un vantaggio estremo. Non voglio perdere questa flessibilità dato che il nostro sistema è estremamente personalizzabile.

quindi la mia domanda è per voi ragazzi: come gestite questo dilemma? come lavori con centinaia di librerie (servizi) e il loro debug & build di rilascio?

    
posta Mightee 09.11.2018 - 08:50
fonte

1 risposta

1

Se comprendo correttamente il tuo problema, puoi risolverlo utilizzando un singolo feed di nuget e numeri di versione pre-release.

Nuget supporta Semver 2.0.0 , questo significa che puoi pubblicare le tue versioni di debug o di sviluppo dei pacchetti con un postfix incrementale, come: 1.0.1-debug1, 1.0.1-debug2, etc (o 1.0.1-debug001, 1.0.1-debug002, per una migliore ordinamento).

Quindi, quando pubblichi la versione 1.0.1, nuget capirà che è una versione superiore rispetto a quella prerelease e ti permetterà di aggiornare tutti gli usi.

    
risposta data 09.11.2018 - 23:43
fonte

Leggi altre domande sui tag