Publicar e baixar Universal Packages com o Azure Pipelines
Azure DevOps Services
Os Universal Packages permitem empacotar qualquer quantidade de arquivos de qualquer tipo e compartilhá-los com sua equipe. Usando a tarefa Universal Package 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 do Artifacts.
Observação
Os Universal Packages só estão disponíveis no Azure DevOps Services.
Copiar arquivos
A tarefa Universal Packages no Azure Pipelines está definida para usar $(Build.ArtifactStagingDirectory)
como o diretório de publicação padrão. Para preparar seu Universal Package para publicação, mova os arquivos que você deseja publicar para esse diretório. Você também pode usar a tarefa de utilitário Copiar Arquivos a fim de copiar esses arquivos para o diretório de publicação.
Publicar um Universal Package
Para publicar um Universal Package no feed do Azure Artifacts, adicione a tarefa a seguir 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 |
---|---|
publishDirectory | Local dos arquivos que você deseja publicar. |
vstsFeedPublish | O nome do projeto e do feed para o qual publicar. Se você estiver trabalhando com um feed com escopo de organização, especifique apenas o nome do feed. |
vstsFeedPackagePublish | O nome do pacote. Precisa estar em minúsculas. Use apenas letras, números e traços. |
packagePublishDescription | Descrição do conteúdo do pacote. |
Para publicar pacotes em um feed de Artefatos do Azure a partir de seu pipeline, a identidade do pipeline deve ter a função Publicador de Feed (Colaborador) no feed. Para obter mais informações, veja permissões de pipelines.
Para publicar em um feed externo, primeiro você precisa criar uma conexão de serviço para autenticar com o feed. Para obter mais informações, confira Gerenciar conexão de serviço.
Controle de versão do pacote
Os Universal Packages seguem a especificação de controle de versão semântica 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, Principal, Secundária e Patch, no formato: Major.Minor.Patch
.
O número de versão secundária é incrementado quando novos recursos são adicionados que sejam compatíveis com versões anteriores; nesse 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 de versão principal é incrementado quando há alterações significativas que podem impedir 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 erros ou outras pequenas alterações forem feitas que não afetem a compatibilidade com versões anteriores (1.0.0
para 1.0.1
).
Ao publicar um novo pacote, a tarefa Universal Packages selecionará automaticamente a próxima versão principal, secundária ou de patch para você.
Para habilitar o controle de versão do pacote, adicione uma entrada versionOption
ao arquivo YAML. As opções para publicar uma nova versão do pacote são: major
, minor
, patch
ou custom
.
A escolha de 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 de versão escolhido em 1. Portanto, 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 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 |
---|---|
publishDirectory | Local dos arquivos que você deseja publicar. |
vstsFeedPublish | O nome do projeto e do feed para o qual publicar. Se você estiver trabalhando com um feed com escopo de organização, especifique apenas o nome do feed. |
vstsFeedPackagePublish | O nome do pacote. Precisa estar em minúsculas. Use apenas letras, números e traços. |
versionOption | Selecione uma estratégia de controle de versão. Opções: major , minor , patch , custom . |
versionPublish | A versão do pacote personalizado. |
packagePublishDescription | Descrição do conteúdo do pacote. |
Baixar um Universal Package
Para baixar um Universal Package de um feed em sua organização, use a tarefa Universal Package 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 Artifacts que hospeda o pacote a ser baixado. |
vstsFeedPackage | Nome do pacote a ser baixado. |
vstsPackageVersion | Versão do pacote a ser baixado. |
downloadDirectory | A pasta de destino do pacote. Valor padrão: $(System.DefaultWorkingDirectory). |
Para baixar um Universal Package de uma fonte externa, use o seguinte snippet:
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 |
---|---|
feedsToUse | Defina o valor como external ao baixar de uma origem externa. |
externalFeedCredentials | Nome da conexão de serviço com o feed externo. Para obter mais informações, confira Gerenciar conexões de serviço. |
feedDownloadExternal | Nome do feed externo. |
packageDownloadExternal | O nome do pacote que você deseja baixar. |
versionDownloadExternal | A versão do pacote que você deseja baixar. |
Dica
Você pode usar curingas para baixar a versão mais recente de um Universal Package. Para saber mais, confira Baixar a versão mais recente