Compartilhar via


Conectar-se a um feed do Azure Artifacts (NuGet.exe)

Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022

O Azure Artifacts permite que os desenvolvedores baixem pacotes NuGet de várias fontes, como feeds privados e registros públicos. Você pode publicar pacotes em feeds privados e controlar o acesso ou criar feeds públicos para compartilhá-los abertamente. Este artigo orienta você pela autenticação com o feed do Azure Artifacts.

Pré-requisitos

Produto Requisitos
Azure DevOps - Uma organização do Azure DevOps.
- Um projeto do Azure DevOps .
- Um feed do Azure Artifacts.
- Baixe e instale o Provedor de Credenciais do Azure Artifacts .
- Instale a versão mais recente do NuGet.

Configuração do projeto

  1. Entre em 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 selecione NuGet.exe à esquerda.

  4. Adicione um arquivo nuget.config ao seu projeto; coloque-o na mesma pasta que seu arquivo csproj ou sln, em seguida, cole o snippet fornecido dentro dele. O arquivo nuget.config deve ser semelhante ao seguinte:

    • Feed do projeto com escopo:

      <?xml version="1.0" encoding="utf-8"?>
      <configuration>
        <packageSources>
          <clear />
          <add key="<SOURCE_NAME>" value="https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json" />
        </packageSources>
      </configuration>
      
    • Feed da organização com escopo:

      <?xml version="1.0" encoding="utf-8"?>
      <configuration>
        <packageSources>
          <clear />
          <add key="<SOURCE_NAME>" value="https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json" />
        </packageSources>
      </configuration>
      
  1. Entre em sua coleçã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 Feede selecione NuGet.exe no painel de navegação esquerdo.

  4. Adicione um arquivo nuget.config ao seu projeto, coloque-o na mesma pasta que o arquivo csproj ou sln e cole o snippet fornecido na seção de instalação do Project em seu arquivo.

Observação

O Provedor de Credenciais do Azure Artifacts requer a versão 4.8.0.5385 do NuGet ou superior. Para um desempenho ideal, o Azure Artifacts recomenda usar a versão 5.5.x do NuGet ou posterior, pois inclui correções de bug cruciais relacionadas a cancelamentos e tempos limite.

Configuração do projeto herdado

Se você estiver usando uma versão mais antiga do NuGet, siga as instruções abaixo para se conectar ao feed:

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

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

  3. Selecione Conectar ao feed e selecione NuGet.exe à esquerda.

  4. Copie a URL de origem da seção de instalação do Project e substitua /v3/index.json por /v2. A URL de origem atualizada deve ser semelhante a uma das seguintes:

    • Feed do projeto com escopo:

      https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v2
      
    • Feed da organização com escopo:

      https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/nuget/v2
      
  5. Crie um Token de Acesso Pessoal, certifique-se de defini-lo para a organização certa que deseja acessar e selecione um dos seguintes escopos com base em suas necessidades: Empacotamento (leitura), Empacotamento (leitura e gravação) ou Empacotamento (leitura, gravação e gerenciamento).

  6. Execute o seguinte comando em uma janela de prompt de comando para adicionar a origem do feed ao seu arquivo nuget.config:

    nuget sources add -name <FEED_NAME> -source <SOURCE_URL> -username <ANY_STRING_BUT_NOT_NULL> -password <YOUR_PERSONAL_ACCESS_TOKEN>
    
  7. Se sua organização estiver conectada à ID do Microsoft Entra, primeiro você deverá autenticar com suas credenciais do AD e, em seguida, adicionar seu token de acesso pessoal usando o comando setapikey :

    nuget sources add -name <FEED_NAME> -source <SOURCE_URL> -username <AZURE_ACTIVE_DIRECTORY_USERNAME> -password <AZURE_ACTIVE_DIRECTORY_PASSWORD>
    
    nuget setapikey <YOUR_PERSONAL_ACCESS_TOKEN> -source <SOURCE_URL> 
    

Autenticar usando entidades de serviço

Para autenticar com um feed do Azure Artifacts usando uma entidade de serviço, defina a variável de ambiente ARTIFACTS_CREDENTIALPROVIDER_FEED_ENDPOINTS conforme mostrado abaixo.

Isso especifica o URL do seu feed, o ID do aplicativo (cliente) da entidade de serviço e o nome do assunto ou o caminho do arquivo do certificado da entidade de serviço (somente um destes é necessário).

$env:ARTIFACTS_CREDENTIALPROVIDER_FEED_ENDPOINTS = @'{
    "endpointCredentials": [
        {
            "endpoint": "<FEED_URL>",
            "clientId": "<SERVICE_PRINCIPAL_APPLICATION_(CLIENT)_ID>",
            "clientCertificateSubjectName": "<SERVICE_PRINCIPAL_CERTIFICATE_NAME>",
            "clientCertificateFilePath": "<SERVICE_PRINCIPAL_CERTIFICATE_PATH>"
        }
    ]
}
'@