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.
Serviços Azure DevOps | Azure DevOps Server | Azure DevOps Server 2022
Azure Artifacts ajuda você a armazenar e gerenciar seus pacotes de um único feed. Você pode compartilhar pacotes em sua equipe, entre organizações ou, para projetos públicos existentes, publicamente. Este artigo mostra como configurar seu projeto e autenticar no feed de Azure Artifacts usando NuGet.exe.
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 para automatizar a instalação. Verifique se você tem o PowerShell 5.1 ou posterior e execute:
iex "& { $(irm https://aka.ms/install-artifacts-credprovider.ps1) } -AddNetfx"
Para obter mais informações, consulte o repositório Azure Artifacts Credential Provider.
Configuração do projeto
Siga estas etapas para configurar seu projeto e adicionar seu feed ao seu arquivo nuget.config para que o NuGet saiba onde restaurar e publicar pacotes. A URL do feed que você usa depende se o feed tem escopo para um projeto ou para a organização.
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 para alimentare selecione NuGet.exe no painel de navegação esquerdo.
Adicione um
nuget.configarquivo ao seu projeto na mesma pasta que seu.csprojarquivo ou.slnarquivo e cole o snippet fornecido nele. Seunuget.configarquivo deve ser semelhante a um dos seguintes exemplos: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.configao seu projeto na mesma pasta que o arquivo.csprojou.slne, em seguida, cole no seu arquivo o trecho de código fornecido na seção Configuração do projeto.
Observação
O provedor de credenciais Azure Artifacts requer a versão 4.8.0.5385 do NuGet ou posterior. Azure Artifacts recomenda o NuGet 5.5.x ou posterior para obter a melhor compatibilidade e confiabilidade.
Configuração do projeto herdado
Se você estiver usando uma versão mais antiga do NuGet que não dá suporte ao fluxo v3 recomendado, você ainda poderá se conectar ao feed usando o ponto de extremidade v2 mais antigo e um PAT (Token de Acesso Pessoal). Use esta abordagem somente quando não for possível migrar para um cliente mais novo.
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.
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
Criar um token de acesso pessoal. Escopo do token para a organização que você 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 a Microsoft Entra ID, primeiro autentique-se com suas credenciais de Microsoft Entra e adicione seu token de acesso pessoal usando o
setapikeycomando: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>
Autentique-se usando entidades de serviço
Use a autenticação de entidade de serviço para cenários de automação em que o login interativo não é adequado. Para autenticar com um feed de Azure Artifacts usando uma entidade de serviço, defina a variável de ambiente ARTIFACTS_CREDENTIALPROVIDER_FEED_ENDPOINTS, conforme mostrado nos exemplos a seguir.
A variável especifica sua URL de feed, o ID do aplicativo (cliente) da entidade de serviço e o nome do assunto do certificado ou o caminho do arquivo de certificado. Você só precisa de um dos valores do certificado.
$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>"
}
]
}
'@