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
Logga in på din Azure DevOps-organisation och navigera sedan till projektet.
Välj Pipelines och välj sedan din pipelinedefinition.
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
, patch
eller 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
Logga in på din Azure DevOps-organisation och navigera sedan till projektet.
Välj Pipelines och välj sedan din pipelinedefinition.
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.