Publicar e baixar pacotes universais no Azure Artifacts

Azure DevOps Services

Os Pacotes Universais permitem que os desenvolvedores armazenem uma ampla variedade de tipos de pacotes além dos tradicionais, como NuGet, npm, pacotes Python, etc. Usando a CLI do Azure, você pode publicar e baixar Pacotes Universais diretamente da linha de comando. Embora o tamanho dos pacotes publicados possa variar, chegando a até 4 TB, eles devem sempre manter o requisito essencial de incluir um nome e número de versão. Este artigo orientará você pelas etapas para publicar e baixar Pacotes Universais do feed de Artefatos do Azure.

Pré-requisitos

Criar um feed

Se você já tiver um feed, poderá passar para a próxima seção. Caso contrário, siga as etapas abaixo para criar um novo feed de Artefatos do Azure:

  1. Entre na sua organização do Azure DevOps e navegue até seu projeto.

  2. Selecione Artefatos e, em seguida, selecione Criar Feed.

  3. Forneça um Nome descritivo para seu feed e defina sua Visibilidade (quem pode exibir pacotes em seu feed). Defina o Escopo do seu feed e marque a caixa de seleção Fontes upstream se quiser incluir pacotes de registros públicos.

  4. Selecione Criar quando terminar.

    Uma captura de tela mostrando como criar um novo feed.

Observação

Os feeds recém-criados designam a função Serviço de Criação do projeto como Feed e Leitor Upstream (Colaborador) por padrão.

Instalar a extensão Azure DevOps

Usar a CLI ajuda a simplificar suas tarefas. Antes de continuar, verifique se você instalou a CLI do Azure (versão 2.10.1 ou superior). Além disso, precisaremos instalar a extensão Azure DevOps para gerenciar os serviços de DevOps do Azure a partir da linha de comando.

  1. Execute o seguinte comando para instalar a extensão Azure DevOps:

    az extension add --name azure-devops
    
  2. Se você já tiver a extensão Azure DevOps instalada e quiser atualizá-la para a mais recente, execute o seguinte comando:

    az extension update --name azure-devops
    

Conectar-se ao feed

  1. Entre na sua organização do Azure DevOps e navegue até seu projeto.

  2. Selecione Artefatos e, em seguida, selecione o feed no menu suspenso.

  3. Selecione Conectar ao feed e, em seguida, selecione Pacotes Universais no painel de navegação esquerdo.

  4. Siga as instruções na seção Configuração do projeto para se conectar ao seu feed.

  1. Execute o seguinte comando para fazer logon na CLI do Azure:

    az login
    
  2. Execute o seguinte comando para definir seu projeto e organização como a configuração padrão da CLI:

    az devops configure --defaults project=<YOUR_PROJECT_NAME> organization=https://dev.azure.com/<YOUR_ORGANIZATION_NAME> 
    

Publicar pacotes universais

Para publicar um Pacote Universal em seu feed, você precisa fornecer um nome de pacote e um número de versão.

O nome do pacote deve estar em minúsculas, começar e terminar com letras ou números e conter apenas letras, números e traços, sublinhados e pontos não consecutivos. A versão do pacote também deve estar em minúsculas e não deve incluir metadados de compilação (sufixo +). Consulte controle de versão semântico para obter mais detalhes.

  1. Execute o seguinte comando para publicar o Pacote Universal no feed:

    • Feed da organização com escopo:

      az artifacts universal publish --organization https://dev.azure.com/<YOUR_ORGANIZATION> --feed <FEED_NAME> --name <PACKAGE_NAME> --version <PACKAGE_VERSION> --path <PACKAGE_DIRECTORY> --description <PACKAGE_DESCRIPTION>
      
    • Feed do projeto com escopo:

      az artifacts universal publish --organization https://dev.azure.com/<YOUR_ORGANIZATION> --project <PROJECT_NAME> --scope project --feed <FEED_NAME> --name <PACKAGE_NAME> --version <PACKAGE_VERSION> --path <PACKAGE_DIRECTORY> --description <PACKAGE_DESCRIPTION>
      

Observação

Se sua organização estiver usando um firewall ou um servidor proxy, confirme se permite URLs de domínio e endereços IP do Azure Artifacts.

Exibir pacotes publicados

  1. Entre na sua organização do Azure DevOps e navegue até seu projeto.

  2. Selecione Artefatos e escolha seu feed no menu suspenso. Depois que o processo de publicação for concluído com êxito, seu pacote deverá estar disponível no feed.

    Uma captura de tela mostrando o Pacote Universal recém-publicado.

Baixar Pacotes Universais

Execute o seguinte comando para baixar um Pacote Universal específico do seu feed usando a CLI do Azure:

  • Feed da organização com escopo:

    az artifacts universal download --organization https://dev.azure.com/<YOUR_ORGANIZATION_NAME> --feed <FEED_NAME> --name <PACKAGE_NAME> --version <PACKAGE_VERSION> --path <DOWNLOAD_PATH>
    
  • Feed do projeto com escopo:

    az artifacts universal download --organization https://dev.azure.com/<YOUR_ORGANIZATION_NAME> --project <PROJECT_NAME> --scope project --feed <FEED_NAME> --name <PACKAGE_NAME> --version <PACKAGE_VERSION> --path <DOWNLOAD_PATH>
    

Baixar arquivos específicos

Se você deseja baixar apenas arquivos específicos, use o --file-filter parâmetro para buscar um subconjunto de arquivos. Consulte Referência de padrões de correspondência de arquivos para obter mais detalhes.

  • Feed da organização com escopo:

    az artifacts universal download --organization https://dev.azure.com/<YOUR_ORGANIZATION_NAME> --feed <FEED_NAME> --name <PACKAGE_NAME> --version <PACKAGE_VERSION> --path <DOWNLOAD_PATH> --file-filter <MATCH_PATTERN>
    
  • Feed do projeto com escopo:

    az artifacts universal download --organization https://dev.azure.com/<YOUR_ORGANIZATION_NAME> --project <PROJECT_NAME> --scope project --feed <FEED_NAME> --name <PACKAGE_NAME> --version <PACKAGE_VERSION> --path <DOWNLOAD_PATH> --file-filter <MATCH_PATTERN>
    

Exemplo: Por exemplo, usar --file-filter logs/.log corresponderia a qualquer arquivo com um nome de arquivo contendo "logs" e terminando com a extensão ".log" (por exemplo, build_logs.log).

Baixar a versão mais recente

Você pode usar curingas * para baixar a versão mais recente de seus Pacotes Universais.

Exemplos:

  • --version '*': faça o download da versão mais recente.

  • --version '1.*': baixe a versão mais recente com major 1.

  • --version '1.2.*': Baixe a versão mais recente do patch com Major 1 e Minor 2.

Observação

Padrões curinga não são suportados com versões de pré-lançamento (pacotes com um traço em seu número de versão).