Publicera och ladda ned universella paket med Azure Pipelines

Azure DevOps Services

Med universella paket kan du paketera valfritt antal filer av valfri typ och dela dem med ditt team. Med hjälp av universalpaketaktiviteten i Azure Pipelines kan du packa, publicera och ladda ned paket av olika storlekar, upp till 4 TB. Varje paket identifieras unikt med ett namn och ett versionsnummer. Du kan använda Azure CLI eller Azure Pipelines för att publicera och använda paket från dina Artifacts-feeds.

Kommentar

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

Kopiera filer

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

Publicera ett universellt paket

Om du vill publicera ett universellt paket i Azure Artifacts-feeden lägger du till följande uppgift i din pipelines YAML-fil.

- task: UniversalPackages@0
  displayName: Publish a Universal Package
  inputs:
    command: publish
    publishDirectory: '$(Build.ArtifactStagingDirectory)'
    vstsFeedPublish: '<projectName>/<feedName>'
    vstsFeedPackagePublish: '<Package name>'
    packagePublishDescription: '<Package description>'
Argument beskrivning
publishDirectory Plats för de filer som du vill publicera.
vstsFeedPublish Projekt- och flödesnamnet som ska publiceras till. Om du arbetar med ett flöde med organisationsomfattning anger du endast feednamnet.
vstsFeedPackagePublish Paketnamnet. Måste vara gemener. Använd endast bokstäver, siffror och bindestreck.
packagePublishDescription Beskrivning av paketinnehållet.

Om du vill publicera paket till en Azure Artifacts-feed från din pipeline måste pipelineidentiteten ha rollen Feed Publisher (deltagare) i flödet. Mer information finns i Pipelines-behörigheter.

Om du vill publicera till en extern feed måste du först skapa en tjänstanslutning för att autentisera med ditt flöde. Mer information finns i Hantera tjänstanslutning.

Paketversionshantering

Universella paket följer specifikationen för semantisk versionshantering och kan identifieras med deras namn och versionsnummer. Semantiska versionsnummer består av tre numeriska komponenter, Major, Minor och Patch, i formatet : Major.Minor.Patch.

Delversionsnumret ökas när nya funktioner läggs till som är bakåtkompatibla med tidigare versioner. I det här fallet ökar du delversionen och återställer korrigeringsversionen till 0 (1.4.17 till 1.5.0). Huvudversionsnumret ökas när det finns betydande ändringar som kan bryta kompatibiliteten med tidigare versioner. I det här fallet ökar du huvudversionen och återställer delversionerna och korrigeringsversionerna till 0 (2.6.5 till 3.0.0). Versionsnumret för korrigeringen bör ökas när endast felkorrigeringar eller andra små ändringar görs som inte påverkar kompatibiliteten med tidigare versioner (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 i YAML-filen. Alternativen för att publicera en ny paketversion är: major, minor, patcheller custom.

Genom att välja custom kan du ange paketversionen manuellt. De andra alternativen hämtar den senaste paketversionen från feeden och ökar det valda versionssegmentet med 1. Så om du har ett testPackage 1.0.0 och väljer huvudalternativetkommer ditt nya paket att vara testPackage 2.0.0. Om du väljer delalternativet blir paketversionen 1.1.0 och om du väljer korrigeringsalternativet blir paketversionen 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 a Universal Package
  inputs:
    command: publish
    publishDirectory: '$(Build.ArtifactStagingDirectory)'
    vstsFeedPublish: '<projectName>/<feedName>'
    vstsFeedPackagePublish: '<Package name>'
    versionOption: custom
    versionPublish: '<Package version>'
    packagePublishDescription: '<Package description>'
Argument beskrivning
publishDirectory Plats för de filer som du vill publicera.
vstsFeedPublish Projekt- och flödesnamnet som ska publiceras till. Om du arbetar med ett flöde med organisationsomfattning anger du endast feednamnet.
vstsFeedPackagePublish Paketnamnet. Måste vara gemener. Använd endast bokstäver, siffror och bindestreck.
versionOption Välj en versionsstrategi. Alternativ: major, minor, patch, custom.
versionPublicera Den anpassade paketversionen.
packagePublishDescription Beskrivning av paketinnehållet.

Ladda ned ett universellt paket

Om du vill ladda ned ett universellt paket från ett flöde i din organisation använder du uppgiften Universellt paket med download kommandot på följande sätt:

steps:
- task: UniversalPackages@0
  displayName: Download a Universal Package
  inputs:
    command: download
    vstsFeed: '<projectName>/<feedName>'
    vstsFeedPackage: '<packageName>'
    vstsPackageVersion: '<packageVersion>'
    downloadDirectory: '$(Build.SourcesDirectory)\someFolder'
Argument beskrivning
vstsFeed Artefaktflödet som är värd för paketet som ska laddas ned.
vstsFeedPackage Namnet på paketet som ska laddas ned.
vstsPackageVersion Version av paketet som ska laddas ned.
downloadDirectory Paketmålmappen. Standardvärde: $(System.DefaultWorkingDirectory).

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

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 beskrivning
feedsToUse Ange värdet till external när du laddar ned från en extern källa.
externalFeedCredentials Namnet på tjänstanslutningen till den externa feeden. Mer information finns i Hantera tjänstanslutningar.
feedDownloadExternal Namnet på den externa feeden.
packageDownloadExternal Paketnamnet som du vill ladda ned.
versionDownloadExternal Den version av paketet som du vill ladda ned.

Dricks

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