Dela via


Publicera och ladda ned universella paket med Azure Pipelines

Azure DevOps Services

Med Universella paket kan du paketera och dela valfritt antal filer, oavsett typ, med ditt team eller målgrupp. Med hjälp av universalpaketaktiviteten i Azure Pipelines kan du packa, publicera och ladda ned paket så stora som 4 TiB. Varje paket identifieras med ett unikt namn och versionsnummer. Du kan använda Azure CLI eller Azure Pipelines för att publicera och ladda ned paket från dina Artifacts-feeds.

Anteckning

Universella paket är endast tillgängliga i Azure DevOps Services.

Förutsättningar

Produkt Kravspecifikationer
Azure DevOps – Ett Azure DevOps-projekt.
- behörigheter:
    – Om du vill bevilja åtkomst till alla pipelines i projektet måste du vara medlem i gruppen projektadministratörer.
    – Om du vill skapa tjänstanslutningar måste du ha rollen Administratör eller Creator för tjänstanslutningar.

Kopiera filer

Uppgiften Universella paket i Azure Pipelines använder $(Build.ArtifactStagingDirectory) som standardplats för de filer som du vill publicera. Om du vill förbereda universalpaketet för publicering flyttar du de filer som du vill publicera till den här katalogen. Du kan också använda verktyget Kopiera filer för att kopiera filerna till publiceringskatalogen.

Publicera ett universellt paket

  1. Logga in på din Azure DevOps-organisation och navigera sedan till projektet.

  2. Välj Pipelines och välj sedan din pipelinedefinition.

  3. Välj Redigeraoch lägg sedan till följande kodfragment i YAML-pipelinen.

    - 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
    

Anteckning

Om du vill publicera paket till ett flöde från dina Pipelines, se till att både Project Collection Build Service och projektets Build Service identitet har tilldelats rollen Feed Publisher (Deltagare) i flödesinställningarna. Mer information finns i Hantera behörigheter .

Paketversionshantering

Universella paket följer semantisk versionshantering, som baseras på tre numeriska komponenter: Major, Minor och Patch. Versionsformatet är Major.Minor.Patch.

  • Delversionen ökar när nya funktioner läggs till som är bakåtkompatibla med tidigare versioner. I det här fallet ökas delversionen och korrigeringsversionen återställs till 0 (t.ex. 1.4.17 till 1.5.0).
  • Huvudversionen ökas när det finns betydande ändringar som kan bryta kompatibiliteten med tidigare versioner och återställa både delversionerna och korrigeringsversionerna till 0 (t.ex. 2.6.5 till 3.0.0).
  • Korrigeringsversionen ökas när felkorrigeringar eller andra små ändringar som inte påverkar kompatibiliteten tillämpas (t.ex. 1.0.0 till 1.0.1).

När du publicerar ett nytt paket väljer uppgiften Universella paket automatiskt nästa huvudversion, delversion eller korrigeringsversion åt dig.

Om du vill aktivera versionshantering för ditt paket lägger du till en versionOption indata till din UniversagePackage-uppgift. Tillgängliga alternativ för att publicera en ny version är: major, minor, patcheller custom.

Om du väljer custom kan du ange paketversionen manuellt. De andra alternativen hämtar den senaste paketversionen från feeden och ökar det valda versionssegmentet med 1. Om du till exempel har ett paket testPackage 1.0.0:

  • Om du väljer major uppdateras versionen till testPackage 2.0.0.
  • Om du väljer minor uppdateras versionen till 1.1.0.
  • Om du väljer patch uppdateras versionen till 1.0.1.

Om du väljer alternativet custom måste du också ange ett versionPublish värde enligt följande:

- 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

Ladda ned ett universellt paket

  1. Logga in på din Azure DevOps-organisation och navigera sedan till projektet.

  2. Välj Pipelines och välj sedan din pipelinedefinition.

  3. Välj Redigeraoch lägg sedan till följande kodfragment i YAML-pipelinen.

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

Om du vill ladda ned ett universellt paket från en extern källa kan du använda följande exempel:

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

Tips

Jokertecken kan användas för att ladda ned den senaste versionen av ett universellt paket. Mer information finns i Ladda ned den senaste versionen.