Freigeben über


Veröffentlichen und Herunterladen von universellen Paketen mit Azure-Pipelines

Azure DevOps Services-

Mit universalen Paketen können Sie eine beliebige Anzahl von Dateien packen und freigeben, unabhängig vom Typ, für Ihr Team oder Ihre Zielgruppe. Mithilfe der Aufgabe "Universal Package" in Azure Pipelines können Sie Pakete so groß wie 4 TiB packen, veröffentlichen und herunterladen. Jedes Paket wird durch einen eindeutigen Namen und eine Versionsnummer identifiziert. Sie können Azure CLI oder Azure Pipelines verwenden, um Pakete aus Ihren Artefaktenfeeds zu veröffentlichen und herunterzuladen.

Anmerkung

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

Voraussetzungen

Produkt Anforderungen
Azure DevOps - Ein Azure DevOps-Projekt.
- Berechtigungen:
    - Um Zugriff auf alle Pipelines im Projekt zu gewähren, müssen Sie Mitglied der Gruppe Projektadministratoren sein.
    – Um Dienstverbindungen zu erstellen, müssen Sie über die Rolle Administrator oder die Rolle Creator für Dienstverbindungenverfügen.

Kopieren von Dateien

Die Aufgabe "Universelle Pakete" in Azure Pipelines verwendet $(Build.ArtifactStagingDirectory) als Standardspeicherort für die Dateien, die Sie veröffentlichen möchten. Wenn Sie Ihr Universelles Paket für die Veröffentlichung vorbereiten möchten, verschieben Sie die Dateien, die Sie in diesem Verzeichnis veröffentlichen möchten. Sie können auch die Hilfsprogrammaufgabe " Dateien kopieren " verwenden, um die Dateien in das Veröffentlichungsverzeichnis zu kopieren.

Veröffentlichen eines universellen Pakets

  1. Melden Sie sich bei Ihrer Azure DevOps-Organisation an, und navigieren Sie dann zu Ihrem Projekt.

  2. Wählen Sie Pipelinesaus, und wählen Sie dann Ihre Pipelinedefinition aus.

  3. Wählen Sie Bearbeitenaus, und fügen Sie dann den folgenden Codeausschnitt zu Ihrer YAML-Pipeline hinzu.

    - task: UniversalPackages@0
      displayName: Publish
      inputs:
        command: publish
        publishDirectory: '$(Build.ArtifactStagingDirectory)'        ## Location of the files you wish to publish
        vstsFeedPublish: '<PROJECT_NAME>/<FEED_NAME>'                ## The project and feed name to publish to. If you're working with an organization-scoped feed, specify only the feed name
        vstsFeedPackagePublish: '<PACKAGE_NAME>'                     ## The package name. Must be lower case. Use only letters, numbers, and dashes
        packagePublishDescription: '<PACKAGE_DESCRIPTION>'           ## Description of the package content
    

Anmerkung

Um Pakete aus Ihren Pipelines in einem Feed zu veröffentlichen, stellen Sie sicher, dass sowohl der Build-Dienst der Projektsammlung als auch die Identitäten des Build-Dienstes Ihres Projekts in den Feedeinstellungen die Rolle „Feed Publisher (Mitwirkender)“ erhalten haben. Weitere Details finden Sie unter Verwalten von Berechtigungen.

Paketversionsverwaltung

Universelle Pakete entsprechen der semantischen Versionsverwaltung, die auf drei numerischen Komponenten basiert: Major, Minor und Patch. Das Versionsverwaltungsformat ist Major.Minor.Patch.

  • Die Nebenversion wird erhöht, wenn neue Features hinzugefügt werden, die abwärtskompatibel mit früheren Versionen sind. In diesem Fall wird die Nebenversion erhöht, und die Patchversion wird auf 0 zurückgesetzt (z. B. 1.4.17 auf 1.5.0).
  • Die Hauptversion wird erhöht, wenn erhebliche Änderungen vorhanden sind, die die Kompatibilität mit früheren Versionen unterbrechen können, wobei sowohl die Neben- als auch die Patchversionen auf 0 zurückgesetzt werden (z. B. 2.6.5 auf 3.0.0).
  • Die Patchversion wird erhöht, wenn Fehlerkorrekturen oder andere kleine Änderungen angewendet werden, die keine Auswirkungen auf die Kompatibilität haben (z. B. 1.0.0 bis 1.0.1).

Beim Veröffentlichen eines neuen Pakets wählt die Aufgabe "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 UniversalPackages-Aufgabe eine versionOption Eingabe hinzu. Die verfügbaren Optionen zum Veröffentlichen einer neuen Version sind: major, , minor, , patchoder custom.

Wenn Sie custom auswählen, 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. Beispiel: Wenn Sie ein Paket testPackage 1.0.0 haben:

  • Wenn Sie major wählen, wird die Version auf testPackage 2.0.0 aktualisiert.
  • Wenn Sie die Option auswählen minor , wird die Version auf 1.1.0 aktualisiert.
  • Wenn Sie die Option auswählen patch , wird die Version auf 1.0.1 aktualisiert.

Wenn Sie die Option custom auswählen, müssen Sie auch einen versionPublish Wert wie folgt angeben:

- task: UniversalPackages@0
  displayName: Publish
  inputs:
    command: publish
    publishDirectory: '$(Build.ArtifactStagingDirectory)'             ## Location of the files you wish to publish
    vstsFeedPublish: '<PROJECT_NAME>/<FEED_NAME>'                     ## The project and feed name to publish to. If you're working with an organization-scoped feed, specify only the feed name
    vstsFeedPackagePublish: '<PACKAGE_NAME>'                          ## The package name. Must be lower case. Use only letters, numbers, and dashes
    versionOption: custom                                             ## Select a versioning strategy. Options: `major`, `minor`, `patch`, `custom`
    versionPublish: '<PACKAGE_VERSION>'                               ## The custom package version
    packagePublishDescription: '<PACKAGE_DESCRIPTION>'                ## Description of the package content

Herunterladen eines universellen Pakets

  1. Melden Sie sich bei Ihrer Azure DevOps-Organisation an, und navigieren Sie dann zu Ihrem Projekt.

  2. Wählen Sie Pipelinesaus, und wählen Sie dann Ihre Pipelinedefinition aus.

  3. Wählen Sie Bearbeitenaus, und fügen Sie dann den folgenden Codeausschnitt zu Ihrer YAML-Pipeline hinzu.

    steps:
    - task: UniversalPackages@0
      displayName: Download
      inputs:
        command: download
        vstsFeed: '<PROJECT_NAME>/<FEED_NAME>'                        ## The Artifacts feed hosting the package to be downloaded
        vstsFeedPackage: '<PACKAGE_NAME>'                             ## Name of the package to be downloaded
        vstsPackageVersion: '<PACKAGE_VERSION>'                       ## Version of the package to be downloaded
        downloadDirectory: '$(Build.SourcesDirectory)\someFolder'     ## The download folder. Default value: $(System.DefaultWorkingDirectory).
    

Um ein Universelles Paket aus einer externen Quelle herunterzuladen, können Sie das folgende Beispiel verwenden:

steps:
- task: UniversalPackages@0
  displayName: Download a Universal Package
  inputs:
    command: download
    feedsToUse: external                                        ## Set the value to `external` when downloading from an external source 
    externalFeedCredentials: 'MSENG2'                           ## Name of the service connection to the external feed
    feedDownloadExternal: 'fabrikamFeedExternal'                ## Name of the external feed
    packageDownloadExternal: 'fabrikam-package'                 ## The package name you wish to download
    versionDownloadExternal: 1.0.0                              ## The version of the package you wish to download

Tipp

Wildcards können verwendet werden, um die neueste Version eines Universellen Pakets herunterzuladen. Weitere Details finden Sie unter "Herunterladen der neuesten Version ".