Pubblicare e scaricare pacchetti universali con Azure Pipelines
Servizi di Azure DevOps
I pacchetti universali consentono di creare un pacchetto di qualsiasi numero di file di qualsiasi tipo e condividerli con il team. Usando l'attività Pacchetto universale in Azure Pipelines, è possibile comprimere, pubblicare e scaricare pacchetti di varie dimensioni, fino a 4 TB. Ogni pacchetto viene identificato in modo univoco con un nome e un numero di versione. È possibile usare l'interfaccia della riga di comando di Azure o Azure Pipelines per pubblicare e usare pacchetti dai feed Artifacts.
Nota
I pacchetti universali sono disponibili solo in Azure DevOps Services.
Copiare i file
L'attività Pacchetti universali in Azure Pipelines è impostata per l'uso $(Build.ArtifactStagingDirectory)
come directory di pubblicazione predefinita. Per preparare il pacchetto universale per la pubblicazione, spostare i file da pubblicare in tale directory. È anche possibile usare l'attività di utilità Copia file per copiare tali file nella directory di pubblicazione.
Pubblicare un pacchetto universale
Per pubblicare un pacchetto universale nel feed di Azure Artifacts, aggiungere l'attività seguente al file YAML della pipeline.
- task: UniversalPackages@0
displayName: Publish a Universal Package
inputs:
command: publish
publishDirectory: '$(Build.ArtifactStagingDirectory)'
vstsFeedPublish: '<projectName>/<feedName>'
vstsFeedPackagePublish: '<Package name>'
packagePublishDescription: '<Package description>'
Argomento | Descrizione |
---|---|
publishDirectory | Percorso dei file da pubblicare. |
vstsFeedPublish | Nome del progetto e del feed in cui eseguire la pubblicazione. Se si usa un feed con ambito organizzazione, specificare solo il nome del feed. |
vstsFeedPackagePublish | Nome del pacchetto. Deve essere minuscolo. Usare solo lettere, numeri e trattini. |
packagePublishDescription | Descrizione del contenuto del pacchetto. |
Per pubblicare pacchetti in un feed di Azure Artifacts dalla pipeline, l'identità della pipeline deve avere il ruolo Autore feed (Collaboratore) nel feed. Per altre informazioni, vedere Autorizzazioni pipeline.
Per pubblicare in un feed esterno, è prima necessario creare una connessione al servizio per l'autenticazione con il feed. Per altre informazioni, vedere Gestire la connessione al servizio.
Controllo delle versioni dei pacchetti
I pacchetti universali seguono la specifica di controllo delle versioni semantica e possono essere identificati dai nomi e dai numeri di versione. I numeri di versione semantica sono costituiti da tre componenti numerici, Major, Minor e Patch, nel formato : Major.Minor.Patch
.
Il numero di versione secondaria viene incrementato quando vengono aggiunte nuove funzionalità compatibili con le versioni precedenti, in questo caso si incrementa la versione secondaria e si reimposta la versione della patch su 0 (1.4.17
su 1.5.0
). Il numero di versione principale viene incrementato quando sono presenti modifiche significative che potrebbero interrompere la compatibilità con le versioni precedenti. In questo caso, si incrementa la versione principale e si reimpostano le versioni secondarie e patch su 0 (2.6.5
su 3.0.0
). Il numero di versione della patch deve essere incrementato quando vengono apportate solo correzioni di bug o altre piccole modifiche che non influiscono sulla compatibilità con le versioni precedenti (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.
Per abilitare il controllo delle versioni per il pacchetto, aggiungere un versionOption
input al file YAML. Le opzioni per la pubblicazione di una nuova versione del pacchetto sono: major
, minor
, patch
o custom
.
La selezione 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 scelto di 1. Pertanto, se si dispone di un testPackage 1.0.0 e si seleziona l'opzione principale , il nuovo pacchetto sarà testPackage 2.0.0. Se si seleziona l'opzione secondaria , la versione del pacchetto sarà 1.1.0 e se si seleziona l'opzione patch , la versione del pacchetto sarà 1.0.1.
Se si sceglie l'opzione custom
, è necessario specificare anche un versionPublish
valore come indicato di seguito:
- 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>'
Argomento | Descrizione |
---|---|
publishDirectory | Percorso dei file da pubblicare. |
vstsFeedPublish | Nome del progetto e del feed in cui eseguire la pubblicazione. Se si usa un feed con ambito organizzazione, specificare solo il nome del feed. |
vstsFeedPackagePublish | Nome del pacchetto. Deve essere minuscolo. Usare solo lettere, numeri e trattini. |
versionOption | Selezionare una strategia di controllo delle versioni. Opzioni: major , minor , patch , custom . |
versionPublish | Versione del pacchetto personalizzata. |
packagePublishDescription | Descrizione del contenuto del pacchetto. |
Scaricare un pacchetto universale
Per scaricare un pacchetto universale da un feed nell'organizzazione, usare l'attività Pacchetto universale con il download
comando come indicato di seguito:
steps:
- task: UniversalPackages@0
displayName: Download a Universal Package
inputs:
command: download
vstsFeed: '<projectName>/<feedName>'
vstsFeedPackage: '<packageName>'
vstsPackageVersion: '<packageVersion>'
downloadDirectory: '$(Build.SourcesDirectory)\someFolder'
Argomento | Descrizione |
---|---|
vstsFeed | Feed Artifacts che ospita il pacchetto da scaricare. |
vstsFeedPackage | Nome del pacchetto da scaricare. |
vstsPackageVersion | Versione del pacchetto da scaricare. |
downloadDirectory | Cartella di destinazione del pacchetto. Valore predefinito: $(System.DefaultWorkingDirectory). |
Per scaricare un pacchetto universale da un'origine esterna, usare il frammento di codice seguente:
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
Argomento | Descrizione |
---|---|
feedToUse | Impostare il valore su external durante il download da un'origine esterna. |
externalFeedCredentials | Nome della connessione del servizio al feed esterno. Per altre informazioni, vedere Gestire le connessioni al servizio. |
feedDownloadExternal | Nome del feed esterno. |
packageDownloadExternal | Nome del pacchetto da scaricare. |
versionDownloadExternal | Versione del pacchetto da scaricare. |
Suggerimento
È possibile usare i caratteri jolly per scaricare la versione più recente di un pacchetto universale. Per altre informazioni, vedere Scaricare la versione più recente.