Compartilhar via


Usar fontes upstream em um feed público

Azure DevOps Services

O Azure Artifacts permite que os desenvolvedores gerenciem suas dependências de um único feed. Usando fontes upstream, você pode consumir pacotes de feeds e registros públicos, como NuGet.org e npmjs.com. Neste artigo, você aprenderá a:

  • Criar um feed público
  • Habilitar fontes upstream
  • Adicionar uma nova fonte upstream

Pré-requisitos

Criar um feed público

Um feed público é um feed com escopo de projeto em um projeto público. Os feeds públicos herdam as configurações de visibilidade do projeto de hospedagem.

  1. Entre em sua organização do Azure DevOps e selecione seu projeto público.

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

    Uma captura de tela mostrando o botão criar feed no Azure Artifacts.

  3. Dê um Nome ao seu feed e selecione Projeto: PublicProject (Recomendado) para seu escopo.

    Uma captura de tela mostrando como criar um novo feed público.

  4. Selecione Criar quando terminar.

Importante

Os feeds públicos não suportam o upstream para um feed privado do Artifacts. Se você estiver usando um feed público do Azure Artifacts, só poderá fazer upstream para registros públicos (NuGet.org, npmjs) ou outros feeds públicos do Azure Artifacts.

Adicionar uma fonte upstream

  1. Entre em sua organização do Azure DevOps e selecione seu projeto público.

  2. Selecione Artefatos e, em seguida, selecione seu feed público.

  3. Selecione o ícone ícone de engrenagem ícone de engrenagem de engrenagem para acessar suas configurações de feed.

  4. Selecione Fontes upstream e, em seguida, selecione Adicionar Upstream.

    Uma captura de tela mostrando como adicionar uma fonte upstream em um feed público.

  5. Selecione o tipo de fonte upstream. Neste exemplo, adicionaremos NuGet.org como uma fonte upstream.

    Uma captura de tela mostrando os diferentes tipos de fontes upstream.

  6. Configure sua fonte e selecione Adicionar quando terminar.

    Uma captura de tela mostrando como configurar sua fonte upstream.

  7. Selecione Salvar para salvar sua nova fonte upstream.

    Uma captura de tela mostrando como salvar a fonte upstream recém-adicionada.

Importante

Os arquivos de bloqueio de pacote são necessários para salvar pacotes NuGet e Dotnet de fontes upstream em um feed público.

Restaurar pacotes

Execute o seguinte comando no diretório do projeto para restaurar seus pacotes:

nuget.exe restore

Observação

Você deve ser um Feed e Leitor Upstream (Colaborador) ou superior para instalar novas versões de pacotes do upstream. Usuários anônimos só podem instalar pacotes que existem em seu feed.

P e R

P: Estou tentando restaurar meus pacotes, mas continuo recebendo um erro 401 não autorizado?

O conteúdo de um feed só pode ser alterado por uma identidade autenticada e autorizada que tenha as permissões apropriadas no feed. Isso inclui salvar pacotes no feed de uma fonte upstream. Usuários não autenticados (anônimos) podem baixar pacotes já salvos em um feed, mas não podem salvar novos pacotes de um upstream no feed.

Os mantenedores de um projeto devem salvar todas as versões necessárias dos pacotes no feed público. Isso pode ser feito restaurando um projeto usando uma identidade que pode fornecer credenciais para o feed quando solicitado e garantindo que a identidade usada tenha permissões de Feed e Leitor Upstream (Colaborador) ou superiores no feed público.

Se os usuários anônimos que estão restaurando pacotes para um projeto estiverem sendo bloqueados repetidamente por solicitações de credenciais (resposta 401), as seguintes abordagens reduzirão ou eliminarão o problema:

  1. Evite usar intervalos de versão do pacote na configuração do projeto. Versões explícitas do pacote garantirão que os clientes de empacotamento solicitem apenas a versão exata necessária.

  2. Quando houver suporte, utilize arquivos de bloqueio para seu ecossistema de empacotamento para que os clientes de empacotamento solicitem apenas as versões específicas necessárias para o projeto durante uma operação de restauração/instalação.

P: Estou tentando restaurar meus pacotes usando o Visual Studio, mas estou percebendo que eles estão sendo extraídos de uma fonte diferente?

R: Verifique se o Visual Studio está usando a fonte referenciada no arquivo nuget.config e não do gerenciador de pacotes NuGet local. Consulte Fontes de pacotes para obter mais detalhes.

Você também pode usar a CLI do NuGet para forçar o NuGet a usar a origem em seu arquivo de configuração executando o seguinte comando:

nuget restore -config <PATH_TO_NUGET_CONFIG_FILE>