Che cosa sono "Version.txt / Version in build script" e "Build Server versioning"?

-2

link e link spiega il vantaggio di GitVersion su "Version.txt / Version in build script" e "Build Server versioning".

Prima di essere in grado di capirlo, mi chiedevo quali fossero gli altri due metodi

  • "Version.txt / Version in build script"

  • "Crea versioni del server"

sono?

Grazie.

ps: In che modo "GitVersion" funziona diversamente da loro?

    
posta Tim 26.09.2017 - 22:16
fonte

1 risposta

5

Version.txt si riferisce a un file chiamato letteralmente "Version.txt" in cui memorizzi il numero di versione. La modifica del numero di versione richiede che un utente modifichi manualmente il file.

La versione nello script di build è quasi la stessa idea. Memorizza il numero di versione come variabile nello script di build (ad es. Makefile, build.sh, build.gradle) invece del proprio file. Di nuovo, richiede che un essere umano modifichi manualmente un file per aggiornare il numero di versione.

Crea versioni di server fa riferimento all'utilizzo di un server di build per gestire i numeri di versione. Di solito questo significa che una parte del numero di versione è un numero di build che viene automaticamente incrementato ad ogni build. L'archiviazione del numero di versione può essere eseguita tramite un semplice file, ad esempio version.txt, oppure potrebbe essere qualcosa di interno al build server.

GitVersion appare in qualche modo simile al versioning del server, in quanto può aggiornare automaticamente il numero di versione, anche se sembra avere un po 'più di funzionalità in più. Utilizza tag e diramazioni git per calcolare i numeri di versione in base alla specifica della versione semantica , anche se sembra che in genere non memorizzi direttamente i numeri di versione risultanti ( Sembra che possa archiviarli direttamente per gemme Ruby e assembly .NET). Invece sembra destinato ad essere integrato con lo script di build o il build server per farne effettivamente uso. Il vantaggio principale qui è il calcolo dei nuovi numeri di versione secondo SemVer e basato su tag e branch git. Se non usi SemVer, o non usi i numeri di versione nei tuoi tag e rami, questo non ti sarà molto utile.

In totale, queste diverse idee possono essere più complementari che opposte. Cioè, potresti avere il tuo build server eseguire GitVersion, catturare l'output e scriverlo in un file, quindi eseguire lo script di build, che estrarrà la versione da quel file e la scriverà nel prodotto realmente costruito.

Nel contesto delle affermazioni di superiorità di GitVersion, ci sono due punti principali:

  1. I reclami relativi a Version.txt e Version nello script di build riguardano principalmente la necessità di aggiornare manualmente il numero di versione per ogni build. Per il versioning del server Build, il numero della versione con aggiornamento automatico non è molto intelligente.

  2. GitVersion strongmente incoraggia l'uso di numeri di versione in tag e rami git, il che a sua volta rende banale il controllo del codice sorgente corrispondente a una versione specifica.

risposta data 26.09.2017 - 22:33
fonte

Leggi altre domande sui tag