Domanda

Stiamo sviluppando un'applicazione con componenti su più livelli fisici, condividendo molti assiemi e disponendo di alcuni esclusivi per ogni livello.

Voglio sapere qual è la tipica strategia di versioning per le hotfix di rilascio, o solo alcuni componenti dell'applicazione.

Il nostro software di localizzazione dei problemi contiene un numero di versione per l'intero prodotto. Se la versione corrente è 1.4.5 ed è necessario un aggiornamento rapido, i problemi per l'aggiornamento rapido devono essere rilasciati contro 1.4.6. Tutti gli assembly interessati dalle correzioni per 1.4.6 hanno la versione 1.4.6. Se abbiamo distribuito solo quei file, finiremo con alcuni file sulla versione 1.4.5 e altri sulla 1.4.6.

Una soluzione potrebbe essere quella di ricostruire e rilasciare l'intera applicazione come 1.4.6, ma ciò richiederebbe la ridistribuzione di più componenti su più macchine e comporterebbe inutili tempi di inattività dei componenti che non sono stati effettivamente modificati.

Quali strategie hanno messo in atto le persone per questo problema? È solo questione di accettare che alcuni file abbiano numeri di versione diversi? In passato ho scoperto che ciò crea confusione con il team di supporto dei clienti (livello 1).

È stato utile?

Soluzione

Poni una domanda interessante.

È davvero una decisione politica che devi prendere per decidere quale sarà la tua strategia di implementazione e versione e prendere in considerazione i compromessi di vari fattori (alcuni dei quali hai già notato, come la confusione dei clienti).

Una delle cose che potresti fare è disaccoppiare il rilascio e il controllo delle versioni dei tuoi singoli livelli, il che ti consentirebbe di avere un controllo delle versioni coerente all'interno di un livello con un sovraccarico di distribuzione dell'aggiornamento rapido ridotto. Dovresti anche scomporre gli assemblaggi comuni in un pacchetto separato e anche in una versione indipendente.

Questo potrebbe essere eccessivo, quindi un'alternativa sarebbe quella di rendere più semplice la comprensione del controllo delle versioni. Ad esempio, è possibile riservare una parte del numero di versione per indicare gli aggiornamenti rapidi. Ad esempio, se 1.4.5.0 è la versione ufficiale, l'aggiornamento rapido sarebbe 1.4.5.1 e questo può essere facilmente compreso come parte della versione ufficiale 1.4.5.

È inoltre possibile utilizzare altre versioni di assembly, ad esempio AssemblyInformationalVersion per archiviare le informazioni sulla versione per i propri utenti. (Consulta il mio post sul blog per maggiori dettagli su < code> AssemblyInformationalVersion e versione dell'assembly in .NET.)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top