Veröffentlichen und Herunterladen von Universal Packages mit Azure Pipelines

Azure DevOps Services

Mithilfe von Universal Packages können Sie eine beliebige Anzahl von Dateien eines beliebigen Typs verpacken und für Ihr Team freigeben. Mithilfe der Aufgabe "Universelles Paket" in Azure Pipelines können Sie Pakete mit verschiedenen Größen bis zu 4 TB packen, veröffentlichen und herunterladen. Jedes Paket wird eindeutig mit einem Namen und einer Versionsnummer identifiziert. Sie können die Azure CLI oder Azure Pipelines verwenden, um Pakete aus Ihren Artifacts-Feeds zu veröffentlichen und zu nutzen.

Hinweis

Universelle Pakete sind nur in Azure DevOps Services verfügbar.

Kopieren von Dateien

Der Task "Universelle Pakete" in Azure Pipelines ist so festgelegt, dass er als Standardveröffentlichungsverzeichnis verwendet $(Build.ArtifactStagingDirectory) wird. Um Ihr Universelles Paket für die Veröffentlichung vorzubereiten, verschieben Sie die Dateien, die Sie veröffentlichen möchten, in dieses Verzeichnis. Sie können auch den Task Zum Kopieren von Dateien verwenden, um diese Dateien in das Veröffentlichungsverzeichnis zu kopieren.

Veröffentlichen von Universalpaketen

Um ein universelles Paket in Ihrem Azure Artifacts-Feed zu veröffentlichen, fügen Sie der YAML-Datei Ihrer Pipeline die folgende Aufgabe hinzu.

- task: UniversalPackages@0
  displayName: Publish a Universal Package
  inputs:
    command: publish
    publishDirectory: '$(Build.ArtifactStagingDirectory)'
    vstsFeedPublish: '<projectName>/<feedName>'
    vstsFeedPackagePublish: '<Package name>'
    packagePublishDescription: '<Package description>'
Argument BESCHREIBUNG
publishDirectory Speicherort der Dateien, die Sie veröffentlichen möchten.
vstsFeedPublish Der Projekt- und Feedname, in dem veröffentlicht werden soll. Wenn Sie mit einem organization-Feed arbeiten, geben Sie nur den Feednamen an.
vstsFeedPackagePublish Der Paketname. Muss klein geschrieben werden. Verwenden Sie nur Buchstaben, Zahlen und Bindestriche.
packagePublishDescription Beschreibung des Packungsinhalts.

Um Pakete in einem Azure Artifacts-Feed aus Ihrer Pipeline zu veröffentlichen, muss die Pipelineidentität über die Rolle Feedherausgeber (Mitwirkender) für den Feed verfügen. Weitere Informationen finden Sie unter Pipelinesberechtigungen.

Um in einem externen Feed zu veröffentlichen, müssen Sie zunächst eine Dienstverbindung erstellen, um sich mit Ihrem Feed zu authentifizieren. Weitere Informationen finden Sie unter Dienstverbindung verwalten.

Paketversionsverwaltung

Universelle Pakete folgen der Semantikversionsverwaltungsspezifikation und können anhand ihrer Namen und Versionsnummern identifiziert werden. Semantische Versionsnummern bestehen aus den drei numerischen Komponenten Haupt-, Neben- und Patch im Format: Major.Minor.Patch.

Die Nebenversionsnummer wird erhöht, wenn neue Features hinzugefügt werden, die abwärtskompatibel mit früheren Versionen sind. In diesem Fall erhöhen Sie die Nebenversion und setzen die Patchversion auf 0 zurück (1.4.17 auf 1.5.0). Die Hauptversionsnummer wird erhöht, wenn erhebliche Änderungen vorliegen, die die Kompatibilität mit früheren Versionen beeinträchtigen könnten. In diesem Fall erhöhen Sie die Hauptversion und setzen die Neben- und Patchversionen auf 0 (2.6.5 auf ) zurück 3.0.0. Die Patch-Versionsnummer sollte erhöht werden, wenn nur Fehlerbehebungen oder andere kleine Änderungen vorgenommen werden, die die Kompatibilität mit früheren Versionen (1.0.0 auf 1.0.1) nicht beeinträchtigen.

Beim Veröffentlichen eines neuen Pakets wählt der Task Universelle Pakete automatisch die nächste Haupt-, Neben- oder Patchversion für Sie aus.

Um die Versionsverwaltung für Ihr Paket zu aktivieren, fügen Sie ihrer YAML-Datei eine Eingabe hinzu versionOption . Die Optionen zum Veröffentlichen einer neuen Paketversion sind: major, minor, patchoder custom.

Wenn Sie auswählen, custom können Sie Ihre Paketversion manuell angeben. Die anderen Optionen rufen die neueste Paketversion aus Ihrem Feed ab und erhöhen das ausgewählte Versionssegment um 1. Wenn Sie also über ein testPackage 1.0.0 verfügen und die Hauptoption auswählen, lautet Ihr neues Paket testPackage 2.0.0. Wenn Sie die Nebenoption auswählen, lautet Ihre Paketversion 1.1.0, und wenn Sie die Patchoption auswählen, lautet Die Paketversion 1.0.1.

Wenn Sie die Option custom auswählen, müssen Sie außerdem einen versionPublish-Wert wie folgt angeben:

- task: UniversalPackages@0
  displayName: Publish a Universal Package
  inputs:
    command: publish
    publishDirectory: '$(Build.ArtifactStagingDirectory)'
    vstsFeedPublish: '<projectName>/<feedName>'
    vstsFeedPackagePublish: '<Package name>'
    versionOption: custom
    versionPublish: '<Package version>'
    packagePublishDescription: '<Package description>'
Argument BESCHREIBUNG
publishDirectory Speicherort der Dateien, die Sie veröffentlichen möchten.
vstsFeedPublish Der Projekt- und Feedname, in dem veröffentlicht werden soll. Wenn Sie mit einem organization-Feed arbeiten, geben Sie nur den Feednamen an.
vstsFeedPackagePublish Der Paketname. Muss klein geschrieben werden. Verwenden Sie nur Buchstaben, Zahlen und Bindestriche.
versionOption Wählen Sie eine Versionierungsstrategie aus. Optionen: major, minor, patch, custom.
versionPublish Die Version des benutzerdefinierten Pakets.
packagePublishDescription Beschreibung des Packungsinhalts.

Herunterladen eines universellen Pakets

Um ein Universelles Paket aus einem Feed in Ihrem organization herunterzuladen, verwenden Sie den Task Universelles Paket mit dem download Befehl wie folgt:

steps:
- task: UniversalPackages@0
  displayName: Download a Universal Package
  inputs:
    command: download
    vstsFeed: '<projectName>/<feedName>'
    vstsFeedPackage: '<packageName>'
    vstsPackageVersion: '<packageVersion>'
    downloadDirectory: '$(Build.SourcesDirectory)\someFolder'
Argument BESCHREIBUNG
vstsFeed Der Artifacts-Feed, der das herunterzuladende Paket hostet.
vstsFeedPackage Name des herunterzuladenden Pakets.
vstsPackageVersion Version des herunterzuladenden Pakets.
downloadDirectory Der Zielordner des Pakets. Standardwert: $(System.DefaultWorkingDirectory)

Verwenden Sie den folgenden Codeausschnitt, um ein Universelles Paket aus einer externen Quelle herunterzuladen:

steps:
- task: UniversalPackages@0
  displayName: Download a Universal Package
  inputs:
    command: download
    feedsToUse: external
    externalFeedCredentials: 'MSENG2'
    feedDownloadExternal: 'fabrikamFeedExternal'
    packageDownloadExternal: 'fabrikam-package'
    versionDownloadExternal: 1.0.0
Argument BESCHREIBUNG
feedsToUse Legen Sie den Wert beim Herunterladen aus einer externen Quelle auf external fest.
externalFeedCredentials Name der Dienstverbindung mit dem externen Feed. Weitere Informationen finden Sie unter Dienstverbindungen verwalten.
feedDownloadExternal Name des externen Feeds.
packageDownloadExternal Der Paketname, den Sie herunterladen möchten.
versionDownloadExternal Die Version des Pakets, das Sie herunterladen möchten.

Tipp

Sie können Die aktuelle Version eines Universellen Pakets mithilfe von Feldhaltern herunterladen. Weitere Informationen finden Sie unter Herunterladen der neuesten Version.