Ausführen der .NET-Kernaufgabe zum Packen Wie bekomme ich die ausgegebene Nuget-Paketversion in Auto Increment selbst, im Format:
1.0.0
Das nächste Mal, wenn ich packe, würde ich gerne 1.0.1 sehen
Ich verwende Umgebungs-Buildvariablen mit Build.BuildNumber und erhalte Ausgaben zum Zeitpunkt von:
20180913-.2.0 usw. Ich möchte ein traditionelleres Versionsverwaltungssystem verwenden
Vielen Dank.
Vielleicht habe ich es herausgefunden.
Für alle, die ihre Haare ausreißen, versuchen Sie Folgendes:
Pack Aufgabe:
Automatische Paketversionierung: Verwenden Sie eine Umgebungsvariable
Umgebungsvariable: Build.BuildNumber
Klicken Sie dann im oberen Menü, in dem Sie über Aufgaben/Variablen/Trigger/Optionen verfügen, auf Optionen.
Build-Nummernformat: 1,0 $ (Rev: .r)
Speichern und in die Warteschlange stellen. (wird 1.0.1 produzieren)
Genießen!
Korrigieren Sie mich, wenn ich mit jemandem Unrecht habe oder dies langfristig nicht funktioniert.
Aus dem docs ergibt sich für die Variable Rev:.r
Der tägliche Build-Revisionszähler. Die akzeptierte "Lösung" würde dazu führen, dass eines Tages eine Version von 1.0.12
Fertiggestellt wird und am nächsten Tag 1.0.1
.
Wenn Sie einen einfachen inkrementellen und eindeutigen Semver wünschen, verwenden Sie 1.0.$(BuildID)
.
$(BuildID)
ist ein interner unveränderlicher Leistungsindikator für Ihre Builds und daher weitaus sauberer als $(BuildNumber)
.
BuildID wird immer erhöht - kein Reset. Nach einer kleinen Beule würden Sie also sagen, 1.2.123
Werde 1.3.124
.
Wenn Sie diese Aufgabe gut ausführen möchten, können Sie npm version oder eine ähnliche Funktion verwenden, z. B. pubspec_version für Dart- oder Flutter-Builds.
- script: npm version $RELEASE_TYPE
wobei $RELEASE_TYPE
eine Variable ist, die Sie basierend auf dem Build festlegen können (z. B. CI, PR usw.) und die den Wert major
, minor
, patch
hat. prerelease
etc.
- script: npm version $RELEASE_TYPE
condition: startsWith(variables['build.sourceBranch'], 'refs/head/release/')
env:
releaseType: minor