Compartilhar via


UniversalPackages@0 – Tarefa V0 de pacotes universais

Use essa tarefa para baixar ou empacotar e publicar Pacotes Universais.

Sintaxe

# 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.
# 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. 
    #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. 
    #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.
# 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. Account/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. 
    #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. Account/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. 
    #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
    #verbosity: 'None' # 'None' | 'Trace' | 'Debug' | 'Information' | 'Warning' | 'Error' | 'Critical'. Verbosity. Default: None.

Entradas

comando command -
string. Necessário. Valores permitidos: download, publish. Valor padrão: download.

Especifica o comando Pacote Universal a ser executado.


de diretório de destino
string. Necessário quando command = download. Valor padrão: $(System.DefaultWorkingDirectory).

Especifica o caminho da pasta em que a tarefa baixa o conteúdo do pacote.


de localização do Feed
Alias de entrada: internalOrExternalDownload. string. Necessário quando command = download. Valores permitidos: internal (esta organização/coleção), external (Outra organização/coleção). Valor padrão: internal.

Especifica um feed desta coleção ou de outra coleção no Azure Artifacts.


de localização do Feed
Alias de entrada: internalOrExternalDownload. string. Necessário quando command = download. Valores permitidos: internal (esta conta/coleção), external (outra conta/coleção). Valor padrão: internal.

Especifica um feed desta coleção ou de outra coleção no Azure Artifacts.


externalFeedCredentials - de conexão de organização/coleção
Alias de entrada: externalEndpoint. string. Opcional. Use quando internalOrExternalDownload = external && command = download.

Especifica as credenciais a serem usadas para registros externos localizados no NuGet.configselecionado. Para feeds nesta organização ou coleção, deixe isso em branco; As credenciais do build são usadas automaticamente.


externalFeedCredentials - de conexão de conta/coleção
Alias de entrada: externalEndpoint. string. Opcional. Use quando internalOrExternalDownload = external && command = download.

Especifica as credenciais a serem usadas para registros externos localizados no NuGet.configselecionado. Para feeds nesta organização ou coleção, deixe isso em branco; As credenciais do build são usadas automaticamente.


vstsFeed - Feed
Alias de entrada: feedListDownload. string. Necessário quando internalOrExternalDownload = internal && command = download.

Inclui o feed selecionado. Você deve ter o Azure Artifacts instalado e licenciado para selecionar um feed aqui. Especifica o FeedName para um feed com escopo da organização e projectName/FeedName ou ProjectID/FeedID para um feed com escopo de projeto.


vstsFeedPackage - nome do pacote
Alias de entrada: packageListDownload. string. Necessário quando internalOrExternalDownload = internal && command = download.

Especifica o nome do pacote para a tarefa a ser baixada.


vstsPackageVersion - versão
Alias de entrada: versionListDownload. string. Necessário quando internalOrExternalDownload = internal && command = download.

Especifica a versão do pacote ou usa uma variável que contém a versão a ser baixada. Essa entrada também pode ser uma expressão curinga, como *, para obter a versão mais alta. Exemplos: 1.* obtém a versão mais alta com a versão principal 1 e 1.2.* obtém a versão de patch mais alta com a versão principal 1 e a versão secundária 2.


feedDownloadExternal - Feed (ou Projeto/Feed se o feed foi criado em um projeto)
string. Necessário quando internalOrExternalDownload = external && command = download.

Especifica um feed em outra organização/coleção.

Para feeds com escopo de projeto, o valor deve ser Project/Feed, em que Project é o nome ou a ID do projeto e Feed é o nome/ID do feed. Para feeds com escopo da organização, o valor deve ser apenas o nome do feed.


feedDownloadExternal - Feed
string. Necessário quando internalOrExternalDownload = external && command = download.

Especifica um feed em outra organização/coleção.

Para feeds com escopo de projeto, o valor deve ser Project/Feed, em que Project é o nome ou a ID do projeto e Feed é o nome/ID do feed. Para feeds com escopo da organização, o valor deve ser apenas o nome do feed.


packageDownloadExternal - nome do pacote
string. Necessário quando internalOrExternalDownload = external && command = download.

Especifica o nome do pacote a ser baixado.


versionDownloadExternal - versão
string. Necessário quando internalOrExternalDownload = external && command = download.

Especifica a versão do pacote ou usa uma variável que contém a versão a ser baixada. Essa entrada também pode ser uma expressão curinga, como *, para obter a versão mais alta. Exemplos: 1.* obtém a versão mais alta com a versão principal 1 e 1.2.* obtém a versão de patch mais alta com a versão principal 1 e a versão secundária 2. Não há suporte para padrões curinga com pacotes de pré-lançamento.


publishDirectory - caminho para arquivos para publicar
string. Necessário quando command = publish. Valor padrão: $(Build.ArtifactStagingDirectory).

Especifica o caminho para a lista de arquivos a serem publicados.


de localização do Feed
Alias de entrada: internalOrExternalPublish. string. Necessário quando command = publish. Valores permitidos: internal (esta organização/coleção), external (Outra organização/coleção). Valor padrão: internal.

Especifica um feed desta coleção ou de outra coleção no Azure Artifacts.


de localização do Feed
Alias de entrada: internalOrExternalPublish. string. Necessário quando command = publish. Valores permitidos: internal (esta conta/coleção), external (outra conta/coleção). Valor padrão: internal.

Especifica um feed desta coleção ou de outra coleção no Azure Artifacts.


publishFeedCredentials - de conexão de organização/coleção
Alias de entrada: externalEndpoints. string. Necessário quando internalOrExternalPublish = external && command = publish.

Especifica as credenciais a serem usadas para feeds externos.


publishFeedCredentials - de conexão de conta/coleção
Alias de entrada: externalEndpoints. string. Necessário quando internalOrExternalPublish = external && command = publish.

Especifica as credenciais a serem usadas para feeds externos.


feed de destino vstsFeedPublish -
Alias de entrada: feedListPublish. string. Necessário quando internalOrExternalPublish = internal && command = publish.

Especifica o projeto e o nome/GUID do feed para o qual publicar.


publishPackageMetadata - Publicar de metadados de pipeline
boolean. Opcional. Use quando command = publish && internalOrExternalPublish = internal. Valor padrão: true.

Associa os metadados desse pipeline de build/versão (como informações de run # e código-fonte) ao pacote.


vstsFeedPackagePublish - nome do pacote
Alias de entrada: packageListPublish. string. Necessário quando internalOrExternalPublish = internal && command = publish.

Especifica uma ID do pacote para publicar ou criar uma nova ID de pacote se você nunca publicou uma versão desse pacote antes. Os nomes de pacote devem ser minúsculas e só podem usar letras, números e traços (-).


feedPublishExternal - Feed (ou Projeto/Feed se o feed foi criado em um projeto)
string. Necessário quando internalOrExternalPublish = external && command = publish.

Especifica o nome do feed externo para o qual publicar.

Se o feed foi criado em um projeto, o valor deverá ser Project/Feed, em que Project é o nome ou a ID do projeto e Feed é o nome do feed. Se o feed não tiver sido criado em um projeto, o valor deverá ser apenas o nome do feed.


feedPublishExternal - Feed
string. Necessário quando internalOrExternalPublish = external && command = publish.

Especifica o nome do feed externo para o qual publicar.

Se o feed foi criado em um projeto, o valor deverá ser Project/Feed, em que Project é o nome ou a ID do projeto e Feed é o nome do feed. Se o feed não tiver sido criado em um projeto, o valor deverá ser apenas o nome do feed.


packagePublishExternal - nome do pacote
string. Necessário quando internalOrExternalPublish = external && command = publish.

Especifica o nome do pacote ao publicar em um feed externo.


versionOption - versão
Alias de entrada: versionPublishSelector. string. Necessário quando command = publish. Valores permitidos: major (próximo principal), minor (próximo menor), patch (próximo patch), custom. Valor padrão: patch.

Especifica uma estratégia de incremento de versão. O valor custom para inserir manualmente a versão do pacote. Para novos pacotes, a primeira versão será 1.0.0 se você especificar major, 0.1.0 se você especificar minorou 0.0.1 se especificar patch. Consulte a de especificação de Controle de Versão Semântico para obter mais informações.


versionPublish - versão personalizada
string. Necessário quando versionPublishSelector = custom && command = publish.

Especifica um esquema de versão personalizado para o pacote.


descrição packagePublishDescription -
string. Opcional. Use quando command = publish.

Especifica a descrição do conteúdo do pacote e/ou as alterações feitas nesta versão do pacote.


verbosity - verbosity
string. Valores permitidos: None, Trace, Debug, Information, Warning, Error, Critical. Valor padrão: None.

Especifica a quantidade de detalhes exibida na saída.


verbosity - verbosity
string. Valores permitidos: None, Trace, Debug, Information, Warning, Error, Critical (Citical). Valor padrão: None.

Especifica a quantidade de detalhes exibida na saída.


de variável de saída do pacote
string. Opcional. Use quando command = publish.

Especifica um nome para a variável que conterá o nome e a versão do pacote publicados.


Opções de controle de tarefa

Todas as tarefas têm opções de controle além de suas entradas de tarefa. Para obter mais informações, consulte as opções de Controle de e as propriedades comuns da tarefa.

Variáveis de saída

Nenhum.

Observações

Use essa tarefa para baixar ou empacotar e publicar Pacotes Universais.

Meu Pipeline precisa acessar um feed em um projeto diferente

Se o pipeline estiver em execução em um projeto diferente do projeto que hospeda o feed, você deverá configurar o outro projeto para conceder acesso de leitura/gravação ao serviço de build. Consulte permissões de pacote no Azure Pipelines para obter mais detalhes.

Exemplos

A maneira mais simples de começar a usar a tarefa Pacote Universal é usar o editor de tarefas Pipelines para gerar o YAML. Em seguida, você pode copiar o código gerado no arquivo azure-pipelines.yml do projeto. Neste exemplo, o exemplo demonstra como gerar rapidamente o YAML usando um pipeline que cria um PWA (aplicativo Web progressivo do GatsbyJS).

Os Pacotes Universais são uma maneira útil de encapsular e versão de um aplicativo Web. Empacotar um aplicativo Web em um Pacote Universal permite reversões rápidas para uma versão específica do seu site e elimina a necessidade de criar o site no pipeline de implantação.

Este pipeline de exemplo demonstra como buscar uma ferramenta de um feed em seu projeto. A tarefa Pacote Universal é usada para baixar a ferramenta, executar um build e, novamente, usa a tarefa Pacote Universal para publicar todo o PWA do GatsbyJS compilado em um feed como um Pacote Universal com versão.

Captura de tela do projeto de exemplo.

Baixar um pacote com a tarefa Pacote Universal

A segunda tarefa no projeto de exemplo usa a tarefa Pacote Universal para buscar uma ferramenta, imagemagick, de um feed que está dentro de um projeto diferente na mesma organização. A ferramenta, imagemagick, é exigida pela etapa de build subsequente para redimensionar imagens.

  1. Adicione a tarefa Pacote Universal clicando no ícone de adição, digitando "universal" na caixa de pesquisa e clicando no botão Adicionar para adicionar a tarefa ao pipeline.

    Captura de tela da adição da tarefa Pacote Universal.

  2. Clique na tarefa do Pacote Universal recém-adicionada e no comando para .

  3. Escolha o diretório de destino a ser usado para o download da ferramenta.

  4. Selecione um feed de de origem que contém a ferramenta, defina ode nome do pacote e escolha de versão da ferramenta de imagemagick no feed de de origem.

    Captura de tela da configuração da tarefa Pacote Universal a ser baixada.

  5. Depois de concluir os campos, clique em Exibir YAML para ver o YAML gerado.

    Captura de tela da exibição do YAML.

  6. O construtor de tarefas pacote universal gera YAML simplificado que contém valores não padrão. Copie o YAML gerado no arquivo azure-pipelines.yml na raiz do repositório git do projeto.

    # 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
    

Publicar um pacote com a tarefa Pacote Universal

A última etapa neste pipeline de exemplo usa a tarefa Pacote Universal para carregar o Gatsby PWA pronto para produção que foi produzido pela etapa Run gatsby build para um feed como um Pacote Universal com versão. Uma vez em um feed, você tem uma cópia permanente do site completo que pode ser implantada no provedor de hospedagem e iniciada com gatsby serve.

  1. Adicione outra tarefa pacote universal ao final do pipeline clicando no ícone de adição, digitando "universal" na caixa de pesquisa e clicando no botão Adicionar para adicionar a tarefa ao pipeline. Essa tarefa reúne todos os ativos prontos para produção produzidos pela etapa Run gatsby build, produz um Pacote Universal com versão e publica o pacote em um feed.

    Captura de tela da configuração de uma tarefa de Pacote Universal a ser publicada.

  2. Defina o comando como Publish.

  3. Defina Caminho para arquivos para publicar no diretório que contém o package.jsondo projeto GatsbyJS.

  4. Escolha um feed de destino, um nome de pacote e defina sua estratégia de controle de versão.

    Captura de tela da configuração da tarefa Pacote Universal a ser publicada.

  5. Depois de concluir os campos necessários, clique em ExibirYAML.

  6. Copie o YAML resultante em seu arquivo de azure-pipelines.yml como antes. O YAML deste projeto de exemplo é exibido abaixo.

    # 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'
    

Este exemplo demonstrou como usar o construtor de tarefas Pipelines para gerar rapidamente o YAML para a tarefa Pacote Universal, que pode ser colocada em seu arquivo azure-pipelines.yml. O construtor de tarefas pacote universal dá suporte a todas as configurações avançadas que podem ser criadas com argumentos da tarefa pacote universal.

Nota

Não há suporte para a publicação de um pacote diretamente em um modo de exibição no Azure Artifacts. Você deve publicar o pacote no feed primeiro e promovê-lo para um modo de exibição.

Requisitos

Requisito Descrição
Tipos de pipeline YAML, build clássico, versão clássica
Execuções em Agent, DeploymentGroup
de demandas Nenhum
recursos Essa tarefa não atende a nenhuma demanda para tarefas subsequentes no trabalho.
restrições de comando Qualquer
variáveis settable Qualquer
Versão do agente 2.144.0 ou superior
Categoria de tarefa Pacote
Requisito Descrição
Tipos de pipeline YAML, build clássico, versão clássica
Execuções em Agent, DeploymentGroup
de demandas Nenhum
recursos Essa tarefa não atende a nenhuma demanda para tarefas subsequentes no trabalho.
restrições de comando Qualquer
variáveis settable Qualquer
Versão do agente 2.115.0 ou superior
Categoria de tarefa Pacote