Veröffentlichen und Herunterladen von universellen Paketen in Azure Pipelines
Azure DevOps Services
Mit universellen Paketen können Sie eine beliebige Anzahl von Dateien eines beliebigen Typs packen und mit Ihrem Team teilen. Mithilfe der Universellen Paketaufgabe 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. Pakete können mithilfe der Azure CLI oder Azure Pipelines in und aus Artifacts Feeds veröffentlicht und genutzt werden.
Hinweis
Universelle Pakete sind nur in Azure DevOps Services verfügbar.
Vorbereiten eines universellen Pakets
Standardmäßig verwendet die Aufgabe "Universelle Pakete" das $(Build.ArtifactStagingDirectory)
Veröffentlichungsverzeichnis. Wenn Sie ihr Universelles Paket für die Veröffentlichung vorbereiten möchten, platzieren Sie die Dateien, die Sie in diesem Verzeichnis veröffentlichen möchten. Sie können auch die Hilfsprogrammaufgabe "Dateien kopieren" verwenden, um diese Dateien in das Veröffentlichungsverzeichnis zu kopieren.
Veröffentlichen eines universellen Pakets
Um ein Universelles Paket in Ihrem Artifacts Feed zu veröffentlichen, fügen Sie die folgende Aufgabe zur Yaml-Datei Ihrer Pipeline hinzu.
# Publish a Universal Package
- task: UniversalPackages@0
displayName: Universal Publish
inputs:
command: publish
publishDirectory: '$(Build.ArtifactStagingDirectory)'
vstsFeedPublish: '<projectName>/<feedName>'
vstsFeedPackagePublish: '<Package name>'
packagePublishDescription: '<Package description>'
Argument | BESCHREIBUNG |
---|---|
publishDirectory | Speicherort der zu veröffentlichenden Dateien. |
vstsFeedPublish | Der Projekt- und Feedname, in dem sie veröffentlicht werden sollen. |
vstsFeedPackagePublish | Der Paketname. Muss Kleinschreibung sein. Verwenden Sie nur Buchstaben, Zahlen und Striche. |
packagePublishDescription | Beschreibung des Inhalts des Pakets. |
Um Pakete in einem Azure Artifacts Feed aus Ihrer Pipeline zu veröffentlichen, müssen Sie die Identität des Project Sammlungsbuilddiensts als Mitwirkender aus den Einstellungen des Feeds hinzufügen. Weitere Informationen finden Sie unter Hinzufügen von Benutzer/Gruppenberechtigungen zu einem Feed .
Zum Veröffentlichen in einem externen Feed müssen Sie zunächst eine Dienstverbindung erstellen, um auf diesen Feed zu verweisen. Weitere Informationen finden Sie unter "Dienstverbindung verwalten ".
Paketversionsverwaltung
Universelle Pakete folgen der semantischen Versionsverwaltungsspezifikation und werden durch ihre Namen und Versionsnummern identifiziert. Semantische Versionsnummern weisen drei numerische Komponenten, Major, Minor und Patch auf: Major.Minor.Patch
Wenn Sie ein neues abwärtskompatibles Feature freigeben, erhöhen Sie die Nebenversion und setzen die Patchversion auf 0 (1.4.17
auf 1.5.0
) zurück, und wenn Sie eine abwärtskompatible Änderung vornehmen, erhöhen Sie die Hauptversion, und setzen Sie die Neben- und Patchversionen auf 0 (2.6.5
auf 3.0.0
). Die Patchversionsnummer sollte bei der Behebung eines Fehlers (1.0.0
auf 1.0.1
) erhöht werden.
Die Aufgabe "Universelle Pakete" wählt automatisch die nächste Haupt-, Neben- oder Patchversion für Sie aus, wenn Sie ein neues Paket veröffentlichen.
Um die Versionsverwaltung für Ihr Paket zu aktivieren, fügen Sie Ihrer YAML-Datei eine versionOption
Eingabe hinzu. Die Optionen zum Veröffentlichen einer neuen Paketversion sind: major
, minor
, patch
oder custom
.
Durch Auswählen custom
können Sie Ihre Paketversion manuell angeben. Die anderen Optionen erhalten die neueste Paketversion aus Ihrem Feed 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, wird Ihr neues Paket testPackage 2.0.0 sein. Wenn Sie die Nebenoption auswählen, lautet Ihre Paketversion 1.1.0, und wenn Sie die Patchoption auswählen, lautet Ihre Paketversion 1.0.1.
Eine Sache, die Sie beachten sollten, ist, dass Sie, wenn Sie die custom
Option auswählen, auch wie versionPublish
folgt angeben müssen.
- task: UniversalPackages@0
displayName: Universal Publish
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 zu veröffentlichenden Dateien. |
vstsFeedPublish | Der Projekt- und Feedname, in dem sie veröffentlicht werden sollen. |
vstsFeedPackagePublish | Der Paketname. |
versionOption | Wählen Sie eine Versionsinkrementierungsstrategie aus. Optionen: major , , minor , patch custom |
versionPublish | Die benutzerdefinierte Paketversion |
packagePublishDescription | Beschreibung des Inhalts des Pakets. |
Herunterladen eines universellen Pakets
Um ein Universelles Paket aus einem Feed in Ihrer Organisation herunterzuladen, verwenden Sie die Universelle Paketaufgabe mit der download
Befehlseingabe wie folgt:
steps:
- task: UniversalPackages@0
displayName: 'Universal download'
inputs:
command: download
vstsFeed: '<projectName>/<feedName>'
vstsFeedPackage: '<packageName>'
vstsPackageVersion: '<packageVersion>'
downloadDirectory: '$(Build.SourcesDirectory)\someFolder'
Argument | BESCHREIBUNG |
---|---|
vstsFeed | Der Artifacts Feed, der das zu herunterladende Paket hosten soll. |
vstsFeedPackage | Der Name des pakets, das heruntergeladen werden soll. |
vstsPackageVersion | Version des Pakets, das heruntergeladen werden soll. |
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: 'Universal download'
inputs:
command: download
feedsToUse: external
externalFeedCredentials: MSENG2
feedDownloadExternal: 'fabrikamFeedExternal'
packageDownloadExternal: 'fabrikam-package'
versionDownloadExternal: 1.0.0
Argument | BESCHREIBUNG |
---|---|
feedsToUse | Legen Sie den Wert fest, der external beim Herunterladen aus einer externen Quelle erfolgt. |
externalFeedCredentials | Name der Dienstverbindung, die auf den externen Feed verweist. Weitere Informationen finden Sie unter Dienstverbindungen . |
feedDownloadExternal | Name des externen Feeds. |
packageDownloadExternal | Der Paketname, der heruntergeladen werden soll. |
versionDownloadExternal | Die Version des Pakets, das heruntergeladen werden soll. |
Hinweis
Sie können Wildcards in der Zeichenfolge verwenden, die Sie an den Downloadbefehl übergeben, um die neueste Version eines universellen Pakets herunterzuladen. Weitere Details finden Sie in der Schnellstartanleitung für universelle Pakete .