Condividi tramite


Pubblicare e scaricare pacchetti universali con Azure Pipelines

Servizi di Azure DevOps

I pacchetti universali consentono di creare pacchetti e condividere qualsiasi numero di file, indipendentemente dal tipo, con il team o il gruppo di destinatari. Usando l'attività Pacchetto universale in Azure Pipelines, è possibile comprimere, pubblicare e scaricare pacchetti di grandi dimensioni pari a 4 TiB. Ogni pacchetto è identificato da un nome univoco e un numero di versione. È possibile usare l'interfaccia della riga di comando di Azure o Azure Pipelines per pubblicare e scaricare pacchetti dai feed Artifacts.

Nota

I pacchetti universali sono disponibili solo in Azure DevOps Services.

Prerequisiti

Prodotto Requisiti
Azure DevOps - Un progetto Azure DevOps.
Autorizzazioni - :
    - Per concedere l'accesso a tutte le pipeline del progetto, è necessario essere membri del gruppo Project Administrators.
    - Per creare connessioni al servizio, è necessario avere il ruolo di amministratore o creatore per le connessioni al servizio .

Copiare i file

L'attività Pacchetti universali in Azure Pipelines usa $(Build.ArtifactStagingDirectory) come percorso predefinito per i file da pubblicare. Per preparare il pacchetto universale per la pubblicazione, spostare i file da pubblicare in questa directory. È anche possibile usare l'attività di utilità Copia file per copiare i file nella directory di pubblicazione.

Pubblicare un pacchetto universale

  • YAML
  • classico
  1. Accedere all'organizzazione di Azure DevOps e quindi passare al progetto.

  2. Selezionare Pipeline e quindi selezionare la definizione della pipeline.

  3. Selezionare Modifica e quindi aggiungere il frammento di codice seguente alla pipeline YAML.

    - 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
    

Nota

Per pubblicare pacchetti su un feed dalle pipeline, assicurarsi che sia il servizio di compilazione della raccolta di progetti, che le identità del servizio di compilazione del progetto, siano state assegnate al ruolo di Autore feed (Collaboratore) nelle impostazioni del feed. Per altri dettagli, vedere Gestire le autorizzazioni .

Controllo delle versioni dei pacchetti

I pacchetti universali rispettano il versionamento semantico, che si basa su tre componenti numerici: Major, Minor e Patch. Il formato delle versioni è Major.Minor.Patch.

  • La versione secondaria viene incrementata quando vengono aggiunte nuove funzionalità retrocompatibili con le versioni precedenti. In questo caso, la versione secondaria viene incrementata e la versione della patch viene reimpostata su 0 (ad esempio, da 1.4.17 a 1.5.0).
  • La versione principale viene incrementata quando sono presenti modifiche significative che potrebbero interrompere la compatibilità con le versioni precedenti, reimpostando le versioni secondarie e patch su 0 (ad esempio, da 2.6.5 a 3.0.0).
  • La versione della patch viene incrementata quando vengono applicate correzioni di bug o altre piccole modifiche che non influiscono sulla compatibilità (ad esempio, da 1.0.0 a 1.0.1).

Quando si pubblica un nuovo pacchetto, l'attività Pacchetti universali selezionerà automaticamente la versione principale, secondaria o patch successiva.

  • YAML
  • classico

Per abilitare il controllo delle versioni per il pacchetto, aggiungere un versionOption input all'attività UniversalPackages. Le opzioni disponibili per la pubblicazione di una nuova versione sono: major, minor, patcho custom.

La selezione di custom consente di specificare manualmente la versione del pacchetto. Le altre opzioni ottengono la versione più recente del pacchetto dal feed e incrementano il segmento di versione selezionato di 1. Ad esempio, se si dispone di un pacchetto testPackage 1.0.0:

  • Se si seleziona major , la versione verrà aggiornata a testPackage 2.0.0.
  • Se si seleziona minor , la versione verrà aggiornata alla versione 1.1.0.
  • Se si seleziona patch , la versione verrà aggiornata alla versione 1.0.1.

Se si sceglie l'opzione custom, è necessario specificare anche un valore versionPublish come indicato di seguito:

- 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

Scaricare un pacchetto universale

  • YAML
  • classico
  1. Accedere all'organizzazione di Azure DevOps e quindi passare al progetto.

  2. Selezionare Pipeline e quindi selezionare la definizione della pipeline.

  3. Selezionare Modifica e quindi aggiungere il frammento di codice seguente alla pipeline YAML.

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

Per scaricare un pacchetto universale da un'origine esterna, è possibile usare l'esempio seguente:

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

Suggerimento

I caratteri jolly possono essere usati per scaricare la versione più recente di un pacchetto universale. Per altri dettagli, vedere Scaricare la versione più recente .