Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Servicios de Azure DevOps | Azure DevOps Server | Azure DevOps Server 2022
Azure Artifacts permite a los desarrolladores publicar paquetes sin problemas en fuentes y compartirlos de forma privada o pública, en función de la configuración de visibilidad de la fuente. Esta guía le llevará a través de la configuración de su proyecto y la autenticación con el feed de Azure Artifacts.
Prerrequisitos
| Producto | Requisitos |
|---|---|
| Azure DevOps | - Una organización de Azure DevOps . - Un proyecto de Azure DevOps . - Una fuente de Azure Artifacts. - Descargue e instale la versión .NET SDK9.0.200 o posterior. |
Configuración del proveedor de credenciales de Azure Artifacts
Para autenticarse con la fuente, antes debe instalar el proveedor de credenciales de Azure. Con el instalador de herramientas incluido con dotnet, puede instalar el proveedor de credenciales desde la CLI mediante el siguiente comando:
dotnet tool install --global Microsoft.Artifacts.CredentialProvider.NuGet.Tool
Si el nuget.config a nivel de repositorio está configurado para usar solo orígenes de Azure Artifacts, ejecute el comando de instalación desde fuera de ese directorio o establezca explícitamente nuget.org como origen:
dotnet tool install --global Microsoft.Artifacts.CredentialProvider.NuGet.Tool --source https://api.nuget.org/v3/index.json
Opcionalmente, ancle la herramienta a una versión principal (por ejemplo, en imágenes de contenedor donde importa la reproducibilidad):
dotnet tool install --global Microsoft.Artifacts.CredentialProvider.NuGet.Tool --version 2.* --source https://api.nuget.org/v3/index.json
La primera vez que realice una operación que requiera autenticación, debe autenticarse mediante:
- Se está ejecutando con
--interactivepara que dotnet pueda solicitarle que se autentique. - Proporcionar credenciales a través de variables de entorno (por ejemplo, en escenarios desatendidos).
Si la autorización interactiva está disponible, vaya al directorio del proyecto y ejecute:
dotnet restore --interactive
Este comando inicia sesión y adquiere un token. Una vez que el inicio de sesión se realiza correctamente, puede ejecutar comandos autenticados sin --interactive hasta que expire el token. Consulte Session token cache locations para obtener más información.
Conexión a una fuente
Seleccione Artifacts y, a continuación, seleccione la fuente en el menú desplegable.
Seleccione Conectar a la fuente y, a continuación, seleccione dotnet en la sección NuGet.
Agregue un archivo nuget.config al proyecto. Colóquelo en la misma carpeta que el archivo .csproj o .sln y pegue el fragmento de código proporcionado en la sección Configuración del proyecto en él. El archivo nuget.config debe ser similar al siguiente:
Fuente con ámbito de proyecto:
<?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 con ámbito de organización:
<?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>
Inicie sesión en la colección de Azure DevOps y vaya al proyecto.
Seleccione Artefactos y, a continuación, seleccione la fuente en el menú desplegable.
Seleccione Conectar a la fuente y, a continuación, seleccione dotnet desde la izquierda.
Agregue un archivo nuget.config al proyecto. Colóquelo en la misma carpeta que el archivo .csproj o .sln y pegue el fragmento de código proporcionado en la sección Configuración del proyecto en él.
Autenticación mediante entidades de servicio
Puede usar una entidad de servicio para autenticarse con la fuente de Azure Artifacts. Para ello, establezca la variable de entorno ARTIFACTS_CREDENTIALPROVIDER_FEED_ENDPOINTS como se muestra a continuación.
Esta variable debe definir la dirección URL de fuente, el identificador de aplicación (cliente) de la entidad de servicio y el nombre del firmante del certificado o la ruta de acceso al archivo de certificado (solo se requiere una de estas dos).
$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>"
}
]
}
'@