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 publiquem pacotes sem dificuldades nos feeds e os compartilhem de forma privada ou pública, dependendo das configurações de visibilidade do feed. Este guia orienta você na configuração do projeto e na 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 SDK .NET versão 9.0.200 ou posterior. |
Configurar o provedor de credenciais Azure Artifacts
Para autenticar com o feed, primeiro você deve instalar o provedor de credenciais Azure. Usando o instalador de ferramentas incluído no dotnet, você pode instalar o provedor de credenciais da CLI usando o seguinte comando:
dotnet tool install --global Microsoft.Artifacts.CredentialProvider.NuGet.Tool
Se o nuget.config no nível do repositório estiver configurado para usar apenas fontes do Azure Artifacts, execute o comando de instalação fora desse diretório ou defina explicitamente nuget.org como a origem:
dotnet tool install --global Microsoft.Artifacts.CredentialProvider.NuGet.Tool --source https://api.nuget.org/v3/index.json
Opcionalmente, fixe a ferramenta em uma versão principal específica (por exemplo, em imagens de contêiner em que a reprodutibilidade é importante):
dotnet tool install --global Microsoft.Artifacts.CredentialProvider.NuGet.Tool --version 2.* --source https://api.nuget.org/v3/index.json
Na primeira vez que você executar uma operação que exija autenticação, você deve autenticar por:
- Executando com
--interactivepara que o dotnet possa solicitar que você se autentique. - Fornecendo credenciais por meio de variáveis de ambiente (por exemplo, em cenários autônomos).
Se a autorização interativa estiver disponível, navegue até o diretório do projeto e execute:
dotnet restore --interactive
Este comando faz login e obtém um token. Depois que a entrada for bem-sucedida, você poderá executar comandos autenticados sem --interactive até que o token expire. Consulte Session token cache locations para obter mais detalhes.
Conectar-se a um feed
Selecione Artefatos e, em seguida, selecione o feed no menu suspenso.
Selecione Conectar ao feed e, em seguida, escolha dotnet na seção NuGet.
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 nele. Seu 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="<FEED_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="<FEED_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 Feed e, em seguida, selecione dotnet à esquerda.
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 nele.
Autenticar usando entidades de serviço
Você pode usar um princípio de serviço para autenticar com o feed do Azure Artifacts. Para fazer isso, defina a variável de ambiente ARTIFACTS_CREDENTIALPROVIDER_FEED_ENDPOINTS , conforme mostrado abaixo.
Essa variável deve definir a URL do feed, a ID do aplicativo (cliente) do principal de serviço e o nome do sujeito do certificado ou o caminho para o arquivo de certificado (apenas um dos 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>"
}
]
}
'@