Partilhar via


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

Serviços de DevOps do Azure | 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 seu feed de Artefatos do Azure.

Pré-requisitos

Produto Requisitos
Azure DevOps - Uma organização Azure DevOps .
- Um projeto do Azure DevOps .
- Um feed de Artefatos do Azure .
- Baixe e instale o Azure Artifacts Credential Provider.
- 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 Artefactos e, em seguida, selecione o seu feed no menu suspenso.

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

  4. Adicione um arquivo nuget.config ao seu projeto, coloque-o na mesma pasta que o arquivo csproj ou sln e cole o trecho fornecido nele. Seu arquivo nuget.config deve ser semelhante ao seguinte:

    • Feed específico do projeto

      <?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 de âmbito organizacional:

      <?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 de DevOps do Azure e navegue até seu projeto.

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

  3. Selecione Ligar ao Feede, em seguida, 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 trecho fornecido na seção Configuração do projeto em seu arquivo.

Observação

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

Inicialização do projeto antigo

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

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

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

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

  4. Copie o URL de origem da seção Configuração do projeto e substitua /v3/index.json por ./v2 O URL de origem atualizado deve ter a seguinte aparência:

    • Feed específico do projeto

      https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v2
      
    • Feed de âmbito organizacional:

      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 numa janela de linha de comandos para adicionar a sua fonte de feed ao ficheiro 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 ao Microsoft Entra ID, você deve primeiro 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 Serviços Principais

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

Isso especifica a URL do feed, a 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 (apenas um desses dois é 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>"
        }
    ]
}
'@