Universele pakketten publiceren en downloaden met Azure Pipelines

Azure DevOps Services

Met Universal Packages kunt u een willekeurig aantal bestanden van elk type verpakken en delen met uw team. Met behulp van de Universal Package-taak in Azure Pipelines kunt u pakketten van verschillende grootten inpakken, publiceren en downloaden, tot 4 TB. Elk pakket wordt uniek geïdentificeerd met een naam en een versienummer. U kunt Azure CLI of Azure Pipelines gebruiken om pakketten te publiceren en te gebruiken vanuit uw Artifacts-feeds.

Notitie

Universele pakketten zijn alleen beschikbaar in Azure DevOps Services.

Bestanden kopiëren

De universal packages-taak in Azure Pipelines is ingesteld op gebruik $(Build.ArtifactStagingDirectory) als de standaardpubliceermap. Als u uw Universal Package wilt voorbereiden voor publicatie, verplaatst u de bestanden die u naar die map wilt publiceren. U kunt ook de taak hulpprogramma Bestanden kopiëren gebruiken om deze bestanden te kopiëren naar de publicatiemap.

Een universeel pakket publiceren

Als u een universeel pakket wilt publiceren naar uw Azure Artifacts-feed, voegt u de volgende taak toe aan het YAML-bestand van uw pijplijn.

- task: UniversalPackages@0
  displayName: Publish a Universal Package
  inputs:
    command: publish
    publishDirectory: '$(Build.ArtifactStagingDirectory)'
    vstsFeedPublish: '<projectName>/<feedName>'
    vstsFeedPackagePublish: '<Package name>'
    packagePublishDescription: '<Package description>'
Argument Beschrijving
publishDirectory Locatie van de bestanden die u wilt publiceren.
vstsFeedPublish De naam van het project en de feed waar u naar wilt publiceren. Als u met een feed met organisatiebereik werkt, geeft u alleen de naam van de feed op.
vstsFeedPackagePublish De pakketnaam. Moet een kleine letter zijn. Gebruik alleen letters, cijfers en streepjes.
packagePublishDescription Beschrijving van de pakketinhoud.

Als u pakketten vanuit uw pijplijn wilt publiceren naar een Azure Artifacts-feed, moet de pijplijnidentiteit de rol FeedUitgever (Inzender) hebben voor de feed. Zie Machtigingen voor pijplijnen voor meer informatie.

Als u wilt publiceren naar een externe feed, moet u eerst een serviceverbinding maken om te verifiëren met uw feed. Zie Serviceverbinding beheren voor meer informatie.

Pakketversiebeheer

Universal Packages volgen de semantische versiebeheerspecificatie en kunnen worden geïdentificeerd door hun namen en versienummers. Semantische versienummers bestaan uit drie numerieke onderdelen, Major, Minor en Patch, in de volgende notatie: Major.Minor.Patch.

Het secundaire versienummer wordt verhoogd wanneer nieuwe functies worden toegevoegd die compatibel zijn met eerdere versies. In dit geval gaat u de secundaire versie verhogen en de patchversie opnieuw instellen op 0 (1.4.17 naar 1.5.0). Het primaire versienummer wordt verhoogd wanneer er aanzienlijke wijzigingen zijn die de compatibiliteit met eerdere versies kunnen verbreken. In dit geval gaat u de primaire versie verhogen en de secundaire en patchversies opnieuw instellen op 0 (2.6.5 naar 3.0.0). Het versienummer van de patch moet worden verhoogd wanneer alleen bugfixes of andere kleine wijzigingen worden aangebracht die geen invloed hebben op de compatibiliteit met eerdere versies (1.0.0 naar 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 YAML-bestand. De opties voor het publiceren van een nieuwe pakketversie zijn: major, minor, patchof custom.

custom Als u deze optie selecteert, kunt u de pakketversie handmatig opgeven. De andere opties krijgen de nieuwste pakketversie van uw feed en verhogen het gekozen versiesegment met 1. Dus als u een testPackage 1.0.0 hebt en de primaire optie selecteert, wordt uw nieuwe pakket testPackage 2.0.0. Als u de secundaire optie selecteert, is uw pakketversie 1.1.0 en als u de patchoptie selecteert, is uw pakketversie 1.0.1.

Als u de custom optie kiest, moet u ook als volgt een versionPublish waarde opgeven:

- 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 Beschrijving
publishDirectory Locatie van de bestanden die u wilt publiceren.
vstsFeedPublish De naam van het project en de feed waar u naar wilt publiceren. Als u met een feed met organisatiebereik werkt, geeft u alleen de naam van de feed op.
vstsFeedPackagePublish De pakketnaam. Moet een kleine letter zijn. Gebruik alleen letters, cijfers en streepjes.
versionOption Selecteer een versiebeheerstrategie. Opties: major, minor, , patch. custom
versionPublish De aangepaste pakketversie.
packagePublishDescription Beschrijving van de pakketinhoud.

Een universeel pakket downloaden

Als u een universeel pakket wilt downloaden van een feed in uw organisatie, gebruikt u de taak Universal Package met de download opdracht als volgt:

steps:
- task: UniversalPackages@0
  displayName: Download a Universal Package
  inputs:
    command: download
    vstsFeed: '<projectName>/<feedName>'
    vstsFeedPackage: '<packageName>'
    vstsPackageVersion: '<packageVersion>'
    downloadDirectory: '$(Build.SourcesDirectory)\someFolder'
Argument Beschrijving
vstsFeed De Artifacts-feed die als host fungeert voor het pakket dat moet worden gedownload.
vstsFeedPackage De naam van het pakket dat moet worden gedownload.
vstsPackageVersion Versie van het pakket dat moet worden gedownload.
downloadDirectory De doelmap van het pakket. Standaardwaarde: $(System.DefaultWorkingDirectory).

Als u een universeel pakket wilt downloaden van een externe bron, gebruikt u het volgende codefragment:

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 Beschrijving
feedsToUse Stel de waarde in op external bij het downloaden van een externe bron.
externalFeedCredentials Naam van de serviceverbinding met de externe feed. Zie Serviceverbindingen beheren voor meer informatie.
feedDownloadExternal Naam van de externe feed.
packageDownloadExternal De pakketnaam die u wilt downloaden.
versionDownloadExternal De versie van het pakket dat u wilt downloaden.

Tip

U kunt jokertekens gebruiken om de nieuwste versie van een Universal Package te downloaden. Zie De nieuwste versie downloaden voor meer informatie.