Delen via


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

  1. Meld u aan bij uw Azure DevOps-organisatie en navigeer vervolgens naar uw project.

  2. Selecteer Pijplijnen en selecteer vervolgens uw pijplijndefinitie.

  3. 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, patchof 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

  1. Meld u aan bij uw Azure DevOps-organisatie en navigeer vervolgens naar uw project.

  2. Selecteer Pijplijnen en selecteer vervolgens uw pijplijndefinitie.

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