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
, patch
oder 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.