Publicar e baixar pacotes universais com o Azure Pipelines

Serviços de DevOps do Azure

Os Pacotes Universais permitem-lhe empacotar qualquer número de ficheiros de qualquer tipo e partilhá-los com a sua equipa. Usando a tarefa Pacote Universal no Azure Pipelines, você pode empacotar, publicar e baixar pacotes de vários tamanhos, até 4 TB. Cada pacote é identificado exclusivamente com um nome e um número de versão. Você pode usar a CLI do Azure ou o Azure Pipelines para publicar e consumir pacotes de seus feeds de Artefatos.

Nota

Os Pacotes Universais só estão disponíveis nos Serviços de DevOps do Azure.

Copiar ficheiros

A tarefa Pacotes Universais no Azure Pipelines está definida para ser usada $(Build.ArtifactStagingDirectory) como o diretório de publicação padrão. Para preparar seu Pacote Universal para publicação, mova os arquivos que deseja publicar para esse diretório. Você também pode usar a tarefa do utilitário Copiar arquivos para copiar esses arquivos para o diretório de publicação.

Publicar um pacote universal

Para publicar um Pacote Universal no feed de Artefatos do Azure, adicione a seguinte tarefa ao arquivo YAML do pipeline.

- task: UniversalPackages@0
  displayName: Publish a Universal Package
  inputs:
    command: publish
    publishDirectory: '$(Build.ArtifactStagingDirectory)'
    vstsFeedPublish: '<projectName>/<feedName>'
    vstsFeedPackagePublish: '<Package name>'
    packagePublishDescription: '<Package description>'
Argumento Description
publicarDiretório Localização dos ficheiros que pretende publicar.
vstsFeedPublish O nome do projeto e do feed para publicar. Se você estiver trabalhando com um feed com escopo da organização, especifique apenas o nome do feed.
vstsFeedPackagePublish O nome do pacote. Deve ser minúscula. Use apenas letras, números e traços.
pacotePublicarDescrição Descrição do conteúdo do pacote.

Para publicar pacotes em um feed de Artefatos do Azure a partir do seu pipeline, a identidade do pipeline deve ter a função de Publicador de Feed (Colaborador) no feed. Para obter mais informações, consulte Permissões de pipelines.

Para publicar em um feed externo, você deve primeiro criar uma conexão de serviço para autenticar com seu feed. Para obter mais informações, consulte Gerenciar conexão de serviço.

Controle de versão do pacote

Os Pacotes Universais seguem a especificação de versionamento semântico e podem ser identificados por seus nomes e números de versão. Os números de versão semântica são compostos por três componentes numéricos, Maior, Menor e Patch, no formato: Major.Minor.Patch.

O número da versão secundária é incrementado quando novos recursos são adicionados que são compatíveis com versões anteriores, neste caso, você incrementa a versão secundária e redefine a versão do patch para 0 (1.4.17 para 1.5.0). O número da versão principal é incrementado quando há alterações significativas que podem quebrar a compatibilidade com versões anteriores. Nesse caso, você incrementa a versão principal e redefine as versões secundária e de patch para 0 (2.6.5 a 3.0.0). O número da versão do patch deve ser incrementado quando apenas correções de bugs ou outras pequenas alterações são feitas que não afetam a compatibilidade com versões anteriores (1.0.0 a 1.0.1).

Ao publicar um novo pacote, a tarefa Pacotes Universais selecionará automaticamente a próxima versão principal, secundária ou patch para você.

Para habilitar o controle de versão para seu pacote, adicione uma versionOption entrada ao seu arquivo YAML. As opções para publicar uma nova versão do pacote são: major, minor, patch, ou custom.

A seleção custom permite que você especifique manualmente a versão do pacote. As outras opções obtêm a versão mais recente do pacote do seu feed e incrementam o segmento da versão escolhida em 1. Então, se você tiver um testPackage 1.0.0 e selecionar a opção principal , seu novo pacote será testPackage 2.0.0. Se você selecionar a opção secundária, a versão do pacote será 1.1.0 e, se você selecionar a opção de patch, a versão do pacote será 1.0.1.

Se você escolher a custom opção, também deverá especificar um versionPublish valor da seguinte maneira:

- 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>'
Argumento Description
publicarDiretório Localização dos ficheiros que pretende publicar.
vstsFeedPublish O nome do projeto e do feed para publicar. Se você estiver trabalhando com um feed com escopo da organização, especifique apenas o nome do feed.
vstsFeedPackagePublish O nome do pacote. Deve ser minúscula. Use apenas letras, números e traços.
versionOption Selecione uma estratégia de controle de versão. Opções: major, minor, patch, custom.
versãoPublicar A versão do pacote personalizado.
pacotePublicarDescrição Descrição do conteúdo do pacote.

Baixe um pacote universal

Para baixar um Pacote Universal de um feed em sua organização, use a tarefa Pacote Universal com o download comando a seguir:

steps:
- task: UniversalPackages@0
  displayName: Download a Universal Package
  inputs:
    command: download
    vstsFeed: '<projectName>/<feedName>'
    vstsFeedPackage: '<packageName>'
    vstsPackageVersion: '<packageVersion>'
    downloadDirectory: '$(Build.SourcesDirectory)\someFolder'
Argumento Description
vstsFeed O feed Artefatos hospeda o pacote a ser baixado.
vstsFeedPackage Nome do pacote a ser baixado.
vstsPackageVersion Versão do pacote a ser baixado.
baixarDiretório A pasta de destino do pacote. Valor padrão: $(System.DefaultWorkingDirectory).

Para baixar um pacote universal de uma fonte externa, use o seguinte trecho:

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
Argumento Description
feedsToUse Defina o valor como external ao fazer o download de uma fonte externa.
externalFeedCredentials Nome da conexão de serviço com o feed externo. Para obter mais informações, consulte gerenciar conexões de serviço.
feedDownloadExterno Nome do feed externo.
packageDownloadExterno O nome do pacote que você deseja baixar.
versãoDownloadExterno A versão do pacote que você deseja baixar.

Gorjeta

Você pode usar curingas para baixar a versão mais recente de um Pacote Universal. Para obter mais informações, consulte Baixar a versão mais recente.