Condividi tramite


UniversalPackages@0 - Attività Pacchetti universali v0

Usare questa attività per scaricare o creare pacchetti e pubblicare pacchetti universali.

Sintassi

# Universal packages v0
# Download or publish Universal Packages.
- task: UniversalPackages@0
  inputs:
    command: 'download' # 'download' | 'publish'. Required. Command. Default: download.
    downloadDirectory: '$(System.DefaultWorkingDirectory)' # string. Required when command = download. Destination directory. Default: $(System.DefaultWorkingDirectory).
    #publishDirectory: '$(Build.ArtifactStagingDirectory)' # string. Required when command = publish. Path to file(s) to publish. Default: $(Build.ArtifactStagingDirectory).
  # Feed & package details
    feedsToUse: 'internal' # 'internal' | 'external'. Alias: internalOrExternalDownload. Required when command = download. Feed location. Default: internal.
    #externalFeedCredentials: # string. Alias: externalEndpoint. Optional. Use when internalOrExternalDownload = external && command = download. organization/collection connection. 
    #vstsFeed: # string. Alias: feedListDownload. Required when internalOrExternalDownload = internal && command = download. Feed. 
    #vstsFeedPackage: # string. Alias: packageListDownload. Required when internalOrExternalDownload = internal && command = download. Package name. 
    #vstsPackageVersion: # string. Alias: versionListDownload. Required when internalOrExternalDownload = internal && command = download. Version. 
    #feedDownloadExternal: # string. Required when internalOrExternalDownload = external && command = download. Feed (or Project/Feed if the feed was created in a project). 
    #packageDownloadExternal: # string. Required when internalOrExternalDownload = external && command = download. Package name. 
    #versionDownloadExternal: # string. Required when internalOrExternalDownload = external && command = download. Version. 
  # Feed & package details
    #feedsToUsePublish: 'internal' # 'internal' | 'external'. Alias: internalOrExternalPublish. Required when command = publish. Feed location. Default: internal.
    #publishFeedCredentials: # string. Alias: externalEndpoints. Required when internalOrExternalPublish = external && command = publish. organization/collection connection. 
    #vstsFeedPublish: # string. Alias: feedListPublish. Required when internalOrExternalPublish = internal && command = publish. Destination Feed. 
    #vstsFeedPackagePublish: # string. Alias: packageListPublish. Required when internalOrExternalPublish = internal && command = publish. Package name. 
    #feedPublishExternal: # string. Required when internalOrExternalPublish = external && command = publish. Feed (or Project/Feed if the feed was created in a project). 
    #packagePublishExternal: # string. Required when internalOrExternalPublish = external && command = publish. Package name. 
    #versionOption: 'patch' # 'major' | 'minor' | 'patch' | 'custom'. Alias: versionPublishSelector. Required when command = publish. Version. Default: patch.
    #versionPublish: # string. Required when versionPublishSelector = custom && command = publish. Custom version. 
    #packagePublishDescription: # string. Optional. Use when command = publish. Description. 
  # Advanced
    #publishPackageMetadata: true # boolean. Optional. Use when command = publish && internalOrExternalPublish = internal. Publish pipeline metadata. Default: true.
    #verbosity: 'None' # 'None' | 'Trace' | 'Debug' | 'Information' | 'Warning' | 'Error' | 'Critical'. Verbosity. Default: None.
  # Output
    #publishedPackageVar: # string. Optional. Use when command = publish. Package Output Variable.

Ingressi dati

command - comando
string. Obbligatorio. Valori consentiti: download, publish. Valore predefinito: download

Specifica il comando Universal Package da eseguire.


downloadDirectory - directory di destinazione
string. Obbligatorio quando command = download. Valore predefinito: $(System.DefaultWorkingDirectory)

Specifica il percorso della cartella in cui l'attività scarica il contenuto del pacchetto.


feedsToUse - percorso feed
Alias di input: internalOrExternalDownload. string. Obbligatorio quando command = download. Valori consentiti: internal (organizzazione/raccolta), external (un'altra organizzazione/raccolta). Valore predefinito: internal

Specifica un feed da questa raccolta o un'altra raccolta in Azure Artifacts.


externalFeedCredentials - di connessione all'organizzazione o alla raccolta
Alias di input: externalEndpoint. string. Opzionale. Usare quando internalOrExternalDownload = external && command = download.

Specifica le credenziali da usare per i registri esterni che si trovano nel NuGet.configselezionato. Per i feed in questa organizzazione o raccolta, lasciare vuoto questo campo; le credenziali della compilazione vengono usate automaticamente.


vstsFeed - feed
Alias di input: feedListDownload. string. Obbligatorio quando internalOrExternalDownload = internal && command = download.

Include il feed selezionato. Per selezionare un feed, è necessario che Azure Artifacts sia installato e concesso in licenza. Specifica il feedName per un feed con ambito organizzazione e projectName/FeedName o ProjectID/FeedID per un feed con ambito progetto.


vstsFeedPackage - nome pacchetto
Alias di input: packageListDownload. string. Obbligatorio quando internalOrExternalDownload = internal && command = download.

Specifica il nome del pacchetto da scaricare per l'attività.


vstsPackageVersion - versione
Alias di input: versionListDownload. string. Obbligatorio quando internalOrExternalDownload = internal && command = download.

Specifica la versione del pacchetto o usa una variabile contenente la versione da scaricare. Questa voce può anche essere un'espressione con caratteri jolly, ad esempio *, per ottenere la versione più recente. Esempi: 1.* ottiene la versione più alta con la versione principale 1 e 1.2.* ottiene la versione patch più alta con la versione principale 1 e secondaria 2.


feedDownloadExternal - feed (o Progetto/Feed se il feed è stato creato in un progetto)
string. Obbligatorio quando internalOrExternalDownload = external && command = download.

Specifica un feed in un'altra organizzazione/raccolta.

Per i feed con ambito progetto, il valore deve essere Project/Feed, dove Project è il nome o l'ID del progetto e Feed è il nome/ID del feed. Per i feed con ambito organizzazione, il valore deve essere solo il nome del feed.


packageDownloadExternal - nome pacchetto
string. Obbligatorio quando internalOrExternalDownload = external && command = download.

Specifica il nome del pacchetto da scaricare.


versionDownloadExternal - versione
string. Obbligatorio quando internalOrExternalDownload = external && command = download.

Specifica la versione del pacchetto o usa una variabile contenente la versione da scaricare. Questa voce può anche essere un'espressione con caratteri jolly, ad esempio *, per ottenere la versione più recente. Esempi: 1.* ottiene la versione più alta con la versione principale 1 e 1.2.* ottiene la versione patch più alta con la versione principale 1 e secondaria 2. I modelli con caratteri jolly non sono supportati con pacchetti non definitive.


publishDirectory - percorso dei file da pubblicare
string. Obbligatorio quando command = publish. Valore predefinito: $(Build.ArtifactStagingDirectory)

Specifica il percorso dell'elenco di file da pubblicare.


feedsToUsePublish - percorso feed
Alias di input: internalOrExternalPublish. string. Obbligatorio quando command = publish. Valori consentiti: internal (organizzazione/raccolta), external (un'altra organizzazione/raccolta). Valore predefinito: internal

Specifica un feed da questa raccolta o un'altra raccolta in Azure Artifacts.


publishFeedCredentials - di connessione all'organizzazione o alla raccolta
Alias di input: externalEndpoints. string. Obbligatorio quando internalOrExternalPublish = external && command = publish.

Specifica le credenziali da utilizzare per i feed esterni.


feed di destinazione vstsFeedPublish -
Alias di input: feedListPublish. string. Obbligatorio quando internalOrExternalPublish = internal && command = publish.

Specifica il progetto e il nome/GUID del feed in cui eseguire la pubblicazione.


publishPackageMetadata - Pubblicare i metadati della pipeline
boolean. Opzionale. Usare quando command = publish && internalOrExternalPublish = internal. Valore predefinito: true

Associa i metadati di questa pipeline di compilazione/versione (ad esempio, eseguire # e informazioni sul codice sorgente) al pacchetto.


vstsFeedPackagePublish - nome pacchetto
Alias di input: packageListPublish. string. Obbligatorio quando internalOrExternalPublish = internal && command = publish.

Specifica un ID pacchetto da pubblicare o creare un nuovo ID pacchetto se non è mai stata pubblicata una versione di questo pacchetto in precedenza. I nomi dei pacchetti devono essere minuscoli e possono usare solo lettere, numeri e trattini (-).


feedPublishExternal - feed (o Progetto/Feed se il feed è stato creato in un progetto)
string. Obbligatorio quando internalOrExternalPublish = external && command = publish.

Specifica il nome del feed esterno in cui eseguire la pubblicazione.

Se il feed è stato creato in un progetto, il valore deve essere Project/Feed, dove Project è il nome o l'ID del progetto e Feed è il nome del feed. Se il feed non è stato creato in un progetto, il valore deve essere solo il nome del feed.


packagePublishExternal - nome pacchetto
string. Obbligatorio quando internalOrExternalPublish = external && command = publish.

Specifica il nome del pacchetto durante la pubblicazione in un feed esterno.


versionOption - versione
Alias di input: versionPublishSelector. string. Obbligatorio quando command = publish. Valori consentiti: major (principale successivo), minor (secondaria successiva), patch (patch successiva), custom. Valore predefinito: patch

Specifica una strategia di incremento della versione. Valore custom per immettere manualmente la versione del pacchetto. Per i nuovi pacchetti, la prima versione sarà 1.0.0 se si specifica major, 0.1.0 se si specifica minoro 0.0.1 se si specifica patch. Per altre informazioni, vedere la specifica di controllo delle versioni semantiche.


versionPublish - versione personalizzata
string. Obbligatorio quando versionPublishSelector = custom && command = publish.

Specifica uno schema di versione personalizzato per il pacchetto.


packagePublishDescription - Descrizione
string. Opzionale. Usare quando command = publish.

Specifica la descrizione del contenuto del pacchetto e/o le modifiche apportate in questa versione del pacchetto.


verbosity - dettagliato
string. Valori consentiti: None, Trace, Debug, Information, Warning, Error, Critical. Valore predefinito: None

Specifica la quantità di dettagli visualizzati nell'output.


publishedPackageVar - variabile di output del pacchetto
string. Opzionale. Usare quando command = publish.

Specifica un nome per la variabile che conterrà il nome e la versione del pacchetto pubblicati.


Opzioni di controllo delle attività

Tutte le attività dispongono di opzioni di controllo oltre ai relativi input attività. Per altre informazioni, vedere Opzioni di controllo e proprietà comuni delle attività.

Variabili di output

Nessuno.

Osservazioni:

Usare questa attività per scaricare o creare pacchetti e pubblicare pacchetti universali.

La pipeline deve accedere a un feed in un progetto diverso

Se la pipeline è in esecuzione in un progetto diverso da quello che ospita il feed, è necessario configurare l'altro progetto per concedere l'accesso in lettura/scrittura al servizio di compilazione. Per altri dettagli, vedere autorizzazioni del pacchetto in Azure Pipelines.

Esempi

Il modo più semplice per iniziare a usare l'attività Pacchetto universale consiste nell'usare l'editor attività Pipelines per generare il file YAML. È quindi possibile copiare il codice generato nel file di azure-pipelines.yml del progetto. In questo esempio viene illustrato come generare rapidamente yaml usando una pipeline che compila un'app Web progressiva GatsbyJS (PWA).

I pacchetti universali sono un modo utile per incapsulare e versione di un'app Web. La creazione di un pacchetto Web in un pacchetto universale consente di eseguire rapidamente il rollback a una versione specifica del sito ed elimina la necessità di compilare il sito nella pipeline di distribuzione.

Questa pipeline di esempio illustra come recuperare uno strumento da un feed all'interno del progetto. L'attività Pacchetto universale viene usata per scaricare lo strumento, eseguire una compilazione e usa di nuovo l'attività Pacchetto universale per pubblicare l'intero PWA compilato di GatsbyJS in un feed come pacchetto universale con versione.

Screenshot del progetto di esempio.

Scaricare un pacchetto con l'attività Pacchetto universale

La seconda attività nel progetto di esempio usa l'attività Pacchetto universale per recuperare uno strumento, imagemagick, da un feed che si trova all'interno di un progetto diverso nella stessa organizzazione. Lo strumento imagemagick è richiesto dal passaggio di compilazione successivo per ridimensionare le immagini.

  1. Aggiungere l'attività Pacchetto universale facendo clic sull'icona con il segno più, digitando "universale" nella casella di ricerca e facendo clic sul pulsante Aggiungi per aggiungere l'attività alla pipeline.

    Screenshot dell'aggiunta dell'attività Pacchetto universale.

  2. Fare clic sull'attività pacchetto universale appena aggiunta e sull'comando per Download.

  3. Scegliere la directory di destinazione da usare per il download dello strumento.

  4. Selezionare un feed di origine che contiene lo strumento, impostare il nome del pacchetto e scegliere Versione dello strumento imagemagick dall'feed di origine.

    Screenshot della configurazione dell'attività Pacchetto universale da scaricare.

  5. Dopo aver completato i campi, fare clic su View YAML (Visualizza YAML) per visualizzare il file YAML generato.

    Screenshot della visualizzazione di YAML.

  6. Il generatore di attività pacchetto universale genera YAML semplificato che contiene valori non predefiniti. Copiare il file YAML generato nel file azure-pipelines.yml nella radice del repository Git del progetto.

    # Download Universal Package
    steps:
    - task: UniversalPackages@0
      displayName: 'Universal download'
      inputs:
        downloadDirectory: Application
        vstsFeed: '00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000001'
        vstsFeedPackage: imagemagick
        vstsPackageVersion: 1.0.0
    

Pubblicare un pacchetto con l'attività Pacchetto universale

L'ultimo passaggio di questa pipeline di esempio usa l'attività Pacchetto universale per caricare il pwa pronto per la produzione prodotto dal passaggio Run gatsby build in un feed come pacchetto universale con versione. Una volta in un feed, si dispone di una copia permanente del sito completo che può essere distribuito al provider di hosting e avviato con gatsby serve.

  1. Aggiungere un'altra attività Pacchetto universale alla fine della pipeline facendo clic sull'icona con il segno più, digitando "universale" nella casella di ricerca e facendo clic sul pulsante aggiungi per aggiungere l'attività alla pipeline. Questa attività raccoglie tutti gli asset pronti per la produzione prodotti dal passaggio Run gatsby build, produce un pacchetto universale con versione e pubblica il pacchetto in un feed.

    Screenshot dell'impostazione di un'attività pacchetto universale da pubblicare.

  2. Impostare il comando su Publish.

  3. Impostare Percorso su file per pubblicare nella directory contenente il package.jsondel progetto GatsbyJS.

  4. Scegliere un feed di destinazione, un nome del pacchetto e impostare la strategia di controllo delle versioni.

    Screenshot della configurazione dell'attività Pacchetto universale da pubblicare.

  5. Dopo aver completato i campi obbligatori, fare clic su Visualizza YAML.

  6. Copiare il file YAML risultante nel file azure-pipelines.yml come in precedenza. Il file YAML per questo progetto di esempio viene visualizzato di seguito.

    # Publish Universal Package
    steps:
    - task: UniversalPackages@0
      displayName: 'Universal publish'
      inputs:
        command: publish
        publishDirectory: Application
        vstsFeedPublish: '00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000002' # You can also use '<projectName>/<feedName>' instead of the GUIDs
        vstsFeedPackagePublish: mygatsbysite
        packagePublishDescription: 'A test package'
    

In questo esempio è stato illustrato come usare il generatore di attività Pipelines per generare rapidamente il file YAML per l'attività Pacchetto universale, che può quindi essere inserito nel file azure-pipelines.yml. Il generatore di attività pacchetto universale supporta tutte le configurazioni avanzate che è possibile creare con gli argomenti dell'attività pacchetto universale.

Nota

La pubblicazione di un pacchetto direttamente in una visualizzazione non è supportata in Azure Artifacts. È prima necessario pubblicare il pacchetto nel feed, quindi alzarlo di livello a una visualizzazione.

Requisiti

Requisito Descrizione
Tipi di pipeline YAML, build classica, versione classica
Viene eseguito in Agente, DeploymentGroup
richieste Nessuno
funzionalità di Questa attività non soddisfa alcuna richiesta di attività successive nel processo.
restrizioni dei comandi Qualunque
variabili impostabili Qualunque
Versione dell'agente 2.144.0 o versione successiva
Categoria attività Pacchetto
Requisito Descrizione
Tipi di pipeline YAML, build classica, versione classica
Viene eseguito in Agente, DeploymentGroup
richieste Nessuno
funzionalità di Questa attività non soddisfa alcuna richiesta di attività successive nel processo.
restrizioni dei comandi Qualunque
variabili impostabili Qualunque
Versione dell'agente 2.115.0 o versione successiva
Categoria attività Pacchetto