Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Serviços de DevOps do Azure | Azure DevOps Server | Azure DevOps Server 2022
Os Artefatos do Azure permitem que os desenvolvedores publiquem pacotes em feeds sem problemas e os compartilhem privada ou publicamente, dependendo das configurações de visibilidade do feed. Este guia orienta você na configuração do projeto e na autenticação com o 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 . - Descarregar e instalar o SDK .NET versão 9.0.200 ou posterior. |
Configurar o fornecedor de credenciais do Artefactos do Azure
Para autenticar com o seu feed, deve primeiro instalar o Azure Credential Provider. Usando o instalador de ferramentas incluído no dotnet, pode instalar o fornecedor de credenciais a partir da CLI usando o seguinte comando:
dotnet tool install --global Microsoft.Artifacts.CredentialProvider.NuGet.Tool
Se o seu nível de repositório nuget.config estiver configurado para usar apenas Artefactos do Azure fontes, execute o comando install de fora desse diretório, ou defina explicitamente nuget.org como fonte:
dotnet tool install --global Microsoft.Artifacts.CredentialProvider.NuGet.Tool --source https://api.nuget.org/v3/index.json
Opcionalmente, fixe a ferramenta a uma versão principal (por exemplo, em imagens de contentores 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 realizar uma operação que requer autenticação, deve autenticar-se através de:
- A executar com
--interactivepara que o dotnet te possa pedir para autenticar-te. - Fornecer credenciais por meio de variáveis de ambiente (por exemplo, em cenários não assistidos).
Se houver autorização interativa disponível, navegue até ao diretório do seu projeto e execute:
dotnet restore --interactive
Este comando inicia a sessão e obtém um token. Depois de iniciar sessão com êxito, pode executar comandos autenticados sem --interactive até o token expirar. Consulte Session token cache locations para mais detalhes.
Conectar-se a um feed
Selecione Artefatos e, em seguida, selecione o seu feed no menu suspenso.
Selecione Conectar ao feede, em seguida, selecione dotnet na secção NuGet.
Adicione um arquivo nuget.config ao seu projeto. Coloque-o na mesma pasta que seu arquivo .csproj ou .sln e cole o trecho fornecido na seção Configuração do projeto nele. Seu arquivo nuget.config deve ser semelhante ao seguinte:
Fluxo vinculado ao projeto:
<?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 de âmbito organizacional:
<?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 de DevOps do Azure e navegue até seu projeto.
Selecione Artefactose, em seguida, selecione o seu feed no menu suspenso.
Selecione Conectar ao feed e, em seguida, selecione dotnet no lado esquerdo.
Adicione um arquivo nuget.config ao seu projeto. Coloque-o na mesma pasta que seu arquivo .csproj ou .sln e cole o trecho fornecido na seção Configuração do projeto nele.
Autenticar usando Serviços Principais
Pode utilizar um principal de serviço para autenticar no seu feed de Artefatos do Azure. Para fazer isso, defina a variável de ambiente ARTIFACTS_CREDENTIALPROVIDER_FEED_ENDPOINTS como mostrado abaixo.
Essa variável deve definir a URL do feed, o ID da aplicação (cliente) da entidade de serviço e o nome do titular do certificado ou o caminho para o arquivo de certificado (apenas um deles é 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>"
}
]
}
'@