Compartir a través de


Conectar a un feed de Azure Artifacts (NuGet.exe)

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2020

Azure Artifacts permite a los desarrolladores descargar paquetes NuGet de varios orígenes, como fuentes privadas y registros públicos. Puede publicar paquetes en fuentes privadas y controlar el acceso, o crear fuentes públicas para compartirlos abiertamente. Este artículo le guía a través de la autenticación con en la fuente 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 el proveedor de credenciales de Azure Artifacts .
- Instale la versión más reciente de NuGet.

Configuración del proyecto

  1. Inicie sesión en la organización de Azure DevOps y vaya al proyecto.

  2. Seleccione Artefactos y, a continuación, seleccione la fuente en el menú desplegable.

  3. Seleccione Conectar a la fuente y, a continuación, seleccione NuGet.exe desde la izquierda.

  4. Agregue un archivo nuget.config al proyecto, colóquelo en la misma carpeta que el csproj o archivo sln y, a continuación, pegue el fragmento de código proporcionado 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="<SOURCE_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="<SOURCE_NAME>" value="https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json" />
        </packageSources>
      </configuration>
      
  1. Inicie sesión en su colección de Azure DevOps y vaya a su proyecto.

  2. Seleccione Artefactos y, a continuación, seleccione la fuente en el menú desplegable.

  3. Seleccione Conectar a la fuente y, a continuación, seleccione NuGet.exe en el panel de navegación izquierdo.

  4. Agregue un archivonuget.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 el archivo.

Nota:

El proveedor de credenciales de Azure Artifacts requiere la versión 4.8.0.5385 de NuGet o superior. Para obtener un rendimiento óptimo, Azure Artifacts recomienda usar la versión 5.5.x de NuGet o posterior, ya que incluye correcciones de errores cruciales relacionadas con cancelaciones y tiempos de espera.

Configuración del proyecto heredado

Si usa una versión anterior de NuGet, siga las instrucciones siguientes para conectarse a la fuente:

  1. Inicie sesión en la organización de Azure DevOps y vaya al proyecto.

  2. Seleccione Artifacts y, a continuación, seleccione la fuente en el menú desplegable.

  3. Seleccione Conectar a la fuente y, a continuación, seleccione NuGet.exe desde la izquierda.

  4. Copie la dirección URL de origen de la sección Configuración del proyecto y, a continuación, reemplace por /v3/index.json/v2. La dirección URL de origen actualizada debe ser similar a una de las siguientes:

    • Fuente con ámbito de proyecto:

      https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v2
      
    • Feed con ámbito de organización:

      https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/nuget/v2
      
  5. Cree un token de acceso personal, asegúrese de limitarlo a la organización adecuada a la que desea acceder y, a continuación, seleccione uno de los siguientes ámbitos en función de sus necesidades: Empaquetado (lectura),Empaquetado (lectura y escritura) o Empaquetado (lectura, escritura y administración).

  6. Ejecute el siguiente comando en una ventana de comandos para agregar su fuente al archivo nuget.config:

    nuget sources add -name <FEED_NAME> -source <SOURCE_URL> -username <ANY_STRING_BUT_NOT_NULL> -password <YOUR_PERSONAL_ACCESS_TOKEN>
    
  7. Si su organización está conectada a Microsoft Entra ID, primero debe autenticarse con sus credenciales de AD y, a continuación, agregar el token de acceso personal mediante el 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> 
    

Autenticación mediante entidades de servicio

Para autenticarse con un feed de Azure Artifacts mediante un principal de servicio, establezca la variable de entorno ARTIFACTS_CREDENTIALPROVIDER_FEED_ENDPOINTS como se muestra a continuación.

Esto especifica la URL de su fuente, el ID de aplicación (cliente) de la entidad de servicio y el nombre del sujeto o la ruta de acceso del archivo del certificado de la entidad de servicio (solo se requiere uno de estos 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>"
        }
    ]
}
'@