webentwicklung-frage-antwort-db.com.de

Version des VSTS/Azure Devops Auto Increment-Pakets

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.

3
The_Chud

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.

8
The_Chud

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).

Aktualisieren

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
1
greg.arnott