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.