2015-10-21 6 views
5

utilizzo TeamCity da molto tempo. Il patch di AssemblyInfo è in grado di applicare una patch a tutti i file assemblyinfo con un numero di versione generato e incrementato da TeamCity. Questo è in qualche modo possibile con Visual Studio Online Build (il nuovo script, multipiattaforma)?Visual Studio Online versione build numero automatico di patch di incremento e assemblaggio

+1

ho appena trovato questo. https://msdn.microsoft.com/Library/vs/alm/Build/scripts/index – Mantzas

risposta

0

Oltre al link qui sopra, passaggi più dettagliati per personalizzare numero di build è possibile fare riferimento a: http://blogs.incyclesoftware.com/2015/06/vnext-build-awesomeness-managing-version-numbers/

+0

fondamentalmente utilizza quanto sopra e lo rende più parametrizzabile! simpatico! – Mantzas

+9

Questa non è una buona risposta - i collegamenti ai blog (anche se sono blog scritti dai miei colleghi) tendono a morire. Aggiorna la tua risposta con le informazioni pertinenti * dal * blog, in modo che la risposta sia utile da sola, anche senza il blog esistente. –

+1

OK, il collegamento è morto. –

5

Ho creato un Bash Script che sostituisce automaticamente il numero di versione in file come AssemblyVersion.cs e può essere utilizzato in una build-passo, simile al Power Shell Script pubblicato da Microsoft:

#!/bin/bash 
# Sample call: ./ApplyVersionToAssemblies.sh ../Source/ AssemblyInfo.cs XamarinAndroid_1.0.0.1 

echo "Script to automatically set the version-number in files (e.g. AssemblyInfo.cs)" 

if [ $# -ne 3 ]; then 
    echo "Usage: $0 path_to_search filename build_number" 
    exit 
fi 

# Input is something like XamarinAndroid_1.2.3.4 and we want to extract only the 1.2.3.4 
# See http://stackoverflow.com/a/19482947/448357 for more infos 
VERSION_NUMBER="${3#*_}" 

for file in $(find $1 -name $2); do 
    echo "Replacing Version string in $file with ${VERSION_NUMBER}" 
    sed -i '' -e 's/"[0-9]*\.[0-9]*\.[0-9]*\.[0-9]*"/"'${VERSION_NUMBER}'"/' "$file" 
done 

in primo luogo, creare le variabili per i principali e la versione minore enter image description here

In secondo luogo, impostare il formato di accumulo numero $(BuildDefinitionName)_$(Major).$(Minor).$(Year:yy)$(DayOfYear).$(Rev:rr) nella scheda Generale della definizione di compilazione

enter image description here

E infine creare un bash script o un passo PowerShell con gli script di cui sopra: enter image description here