Partilhar via


Usar fontes upstream em um feed público

Serviços de DevOps do Azure

Os Artefatos do Azure permitem que os desenvolvedores gerenciem suas dependências a partir 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, vai aprender a:

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

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 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 upstreaming para um feed privado de Artefactos. Se você estiver usando um feed público de Artefatos do Azure, só poderá fazer upstream para registros públicos (NuGet.org, npmjs) ou outros feeds de Artefatos Públicos do Azure.

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 de engrenagem para acessar as 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 seu 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 os pacotes:

nuget.exe restore

Nota

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

Q&A

P: Estou a tentar restaurar os meus pacotes, mas continuo a receber um erro não autorizado 401?

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 a montante. Os 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 Upstream Reader (Colaborador) ou superiores no feed público.

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

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

  2. Quando suportado, 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: Certifique-se de que o Visual Studio está usando a fonte referenciada em seu 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 fonte em seu arquivo de configuração executando o seguinte comando:

nuget restore -config <PATH_TO_NUGET_CONFIG_FILE>