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
- YAML
- Clássico
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ê.
- YAML
- Clássico
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
, patch
ou 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
- YAML
- Clássico
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.