Universele pakketten publiceren en downloaden met Azure Pipelines
Azure DevOps Services-
Met Universal Packages kunt u een willekeurig aantal bestanden verpakken en delen, ongeacht het type, met uw team of doelgroep. Met behulp van de Universal Package-taak in Azure Pipelines kunt u pakketten inpakken, publiceren en downloaden, zo groot als 4 TiB. Elk pakket wordt geïdentificeerd met een unieke naam en versienummer. U kunt Azure CLI of Azure Pipelines gebruiken om pakketten te publiceren en te downloaden van uw Artifacts-feeds.
Notitie
Universele pakketten zijn alleen beschikbaar in Azure DevOps Services.
Benodigdheden
Product | vereisten |
---|---|
Azure DevOps | - Een Azure DevOps-project. - Toestemmingen: - Als u toegang wilt verlenen tot alle pijplijnen in het project, moet u lid zijn van de groep Projectbeheerders. - Als u serviceverbindingen wilt maken, moet u de Administrator-- of Creator- rol hebben voor serviceverbindingen. |
Bestanden kopiëren
De taak Universal Packages in Azure Pipelines maakt gebruik van $(Build.ArtifactStagingDirectory)
als de standaardlocatie voor de bestanden die u wilt publiceren. Als u uw Universal Package wilt voorbereiden voor publicatie, verplaatst u de bestanden die u naar deze map wilt publiceren. U kunt ook de taak bestanden kopiëren hulpprogramma gebruiken om de bestanden naar de publicatiemap te kopiëren.
Een universeel pakket publiceren
Meld u aan bij uw Azure DevOps-organisatie en navigeer vervolgens naar uw project.
Selecteer Pijplijnen en selecteer vervolgens uw pijplijndefinitie.
Selecteer Bewerken en voeg vervolgens het volgende fragment toe aan uw YAML-pijplijn.
- 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
Notitie
Als u pakketten wilt publiceren naar een feed vanuit uw pijplijnen, moet u ervoor zorgen dat zowel de buildservice voor projectverzamelingen als de Build Service--identiteiten van uw project de rol Feed Publisher (Inzender) hebben gekregen in de feedinstellingen. Zie Machtigingen beheren voor meer informatie.
Pakketversiebeheer
Universele pakketten houden zich aan semantische versiebeheer, dat is gebaseerd op drie numerieke onderdelen: Major, Minor en Patch. De versiebeheerindeling is Major.Minor.Patch
.
- De kleine versie wordt verhoogd wanneer er nieuwe functies worden toegevoegd die compatibel zijn met eerdere versies. In dit geval wordt de secundaire versie verhoogd en wordt de patchversie opnieuw ingesteld op 0 (bijvoorbeeld 1.4.17 tot 1.5.0).
- De primaire versie wordt verhoogd wanneer er aanzienlijke wijzigingen zijn die de compatibiliteit met eerdere versies kunnen verbreken, waarbij zowel de secundaire als de patchversies opnieuw worden ingesteld op 0 (bijvoorbeeld 2.6.5 tot 3.0.0).
- De patchversie wordt verhoogd wanneer bugfixes of andere kleine wijzigingen die geen invloed hebben op de compatibiliteit, worden toegepast (bijvoorbeeld 1.0.0 tot 1.0.1).
Wanneer u een nieuw pakket publiceert, selecteert de taak Universal Packages automatisch de volgende primaire, secundaire of patchversie voor u.
Als u versiebeheer voor uw pakket wilt inschakelen, voegt u een versionOption
invoer toe aan uw UniversagePackage-taak. De beschikbare opties voor het publiceren van een nieuwe versie zijn: major
, minor
, patch
of custom
.
Als u custom
selecteert, kunt u de pakketversie handmatig opgeven. Met de andere opties krijgt u de nieuwste pakketversie uit uw feed en verhoogt u het geselecteerde versiesegment met 1. Als u bijvoorbeeld een pakket hebt testPackage 1.0.0:
- Als u
major
selecteert, wordt de versie bijgewerkt naar testPackage 2.0.0. - Als u
minor
selecteert, wordt de versie bijgewerkt naar 1.1.0. - Als u
patch
selecteert, wordt de versie bijgewerkt naar 1.0.1.
Als u de optie custom
kiest, moet u ook een versionPublish
waarde als volgt opgeven:
- 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
Een universeel pakket downloaden
Meld u aan bij uw Azure DevOps-organisatie en navigeer vervolgens naar uw project.
Selecteer Pijplijnen en selecteer vervolgens uw pijplijndefinitie.
Selecteer Bewerken en voeg vervolgens het volgende fragment toe aan uw YAML-pijplijn.
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).
Als u een universeel pakket wilt downloaden van een externe bron, kunt u het volgende voorbeeld gebruiken:
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
Tip
Jokertekens kunnen worden gebruikt om de nieuwste versie van een Universal Package te downloaden. Zie Download de nieuwste versie voor meer informatie.