Partilhar via


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.

Observação

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 usar $(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 Copy Files 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 Descrição
publicarDiretório Localização dos ficheiros que pretende publicar.
vstsFeedPublish O nome do projeto e do feed para os quais 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 estar em minúsculas. 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 Feed Publisher (Colaborador) no feed. Para obter mais informações, consulte Pipelines permissions.

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.

Versionamento de 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 retroativamente com versões anteriores; neste caso, incrementa-se o número da versão secundária e redefine-se o número da versão de 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árias e de patch para 0 (2.6.5 para 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 entrada versionOption ao seu arquivo YAML. As opções para publicar uma nova versão do pacote são: major, minor, patchou custom.

Selecionar custom permite especificar 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. Portanto, se tiveres um testPackage 1.0.0e seleccionares a opção principal, o teu novo pacote será testPackage 2.0.0. Se você selecionar a opção secundária, a versão do pacote será 1.1.0e, se você selecionar a opção patch, a versão do pacote será 1.0.1.

Se você escolher a opção custom, também deverá especificar um valor versionPublish 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 Descrição
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 estar em minúscula. Use apenas letras, números e traços.
opçãoDeVersão 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 comando download da seguinte maneira:

steps:
- task: UniversalPackages@0
  displayName: Download a Universal Package
  inputs:
    command: download
    vstsFeed: '<projectName>/<feedName>'
    vstsFeedPackage: '<packageName>'
    vstsPackageVersion: '<packageVersion>'
    downloadDirectory: '$(Build.SourcesDirectory)\someFolder'
Argumento Descrição
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.
diretório de downloads 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 Descrição
feedsParaUsar 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.
downloadDePacoteExterno O nome do pacote que você deseja baixar.
versão download externo A versão do pacote que você deseja baixar.

Dica

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.