Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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 nuget.exe versão 4.8.0.5385 ou posterior. Recomendamos o NuGet 5.5.x ou posterior, que inclui correções de bug importantes para cancelamentos e tempos limite. |
Configurar o provedor de credenciais Azure Artifacts
O provedor de credenciais Azure Artifacts habilita a autenticação segura para seus feeds de Azure Artifacts. Para usá-lo com nuget.exe, primeiro, é necessário adicioná-lo ao caminho de busca de plug-ins do NuGet. Para obter detalhes, consulte Instalação e descoberta do Plug-in. Depois que o plug-in for adicionado, siga as etapas de instalação do sistema operacional abaixo:
Use um dos seguintes métodos para instalar o provedor de credenciais Azure Artifacts:
Instalação manual
Baixe a versão mais recente Microsoft.NetFx48.NuGet.CredentialProvider.zip.
Extraia os arquivos compactados.
Copie a
netfxpasta do arquivo extraído para%UserProfile%/.nuget/plugins/. Anetfxpasta é necessária para nuget.exe compatibilidade.
Instalar usando o script auxiliar
Como alternativa, você pode usar o script auxiliar automatizado para uma instalação simplificada. Verifique se você tem o PowerShell 5.1 ou posterior e execute:
iex "& { $(irm https://aka.ms/install-artifacts-credprovider.ps1) } -AddNetfx"
Consulte o repositório Azure Artifacts Credential Provider para obter mais detalhes.
Configuração do projeto
Entre em sua organização do Azure DevOps e navegue até seu projeto.
Selecione Artefatos e, em seguida, selecione o feed no menu suspenso.
Selecione Conectar ao feed e selecione NuGet.exe à esquerda.
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>
Entre em sua coleção do Azure DevOps e navegue até seu projeto.
Selecione Artefatos e, em seguida, selecione o feed no menu suspenso.
Selecione Conectar ao Feede selecione NuGet.exe no painel de navegação esquerdo.
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:
Entre em sua organização do Azure DevOps e navegue até seu projeto.
Selecione Artifacts e, em seguida, selecione o feed no menu suspenso.
Selecione Conectar ao feed e selecione NuGet.exe à esquerda.
Copie a URL de origem da seção de instalação do Project e substitua
/v3/index.jsonpor/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/v2Feed da organização com escopo:
https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/nuget/v2
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).
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>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>"
}
]
}
'@