Conexión a las fuentes de Azure Artifacts (NuGet.exe)
Azure DevOps Services | Azure DevOps Server 2022: Azure DevOps Server 2019
Azure Artifacts permite a los desarrolladores publicar y descargar paquetes NuGet de varios orígenes, incluidas fuentes y registros públicos. Puede usar fuentes privadas de Azure Artifacts para compartir paquetes de forma privada con su equipo o usuarios específicos. Además, puede crear fuentes públicas para que los paquetes sean accesibles públicamente, lo que le permite compartirlos abiertamente con cualquier persona de Internet. Este artículo le guía en la conexión a su feed de Azure Artifacts.
Prerrequisitos
Una organización de Azure DevOps y un proyecto. Cree una organización de o un proyecto de si aún no lo ha hecho.
Una fuente de Azure Artifacts. Cree una fuente nueva si todavía no tiene una.
Instale la versión más reciente de NuGet.
Configuración del proyecto
Inicie sesión en la organizació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 NuGet.exe desde el panel izquierdo.
Si es la primera vez que usa Azure Artifacts con NuGet.exe, asegúrese de que ha instalado los requisitos previos; de lo contrario, seleccione Obtener las herramientas en la esquina superior derecha para instalarlas.
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 fragmento de código debe estar estructurado de la siguiente manera:
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>
Inicie sesión en el servidor 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 NuGet.exe en el panel de navegación izquierdo.
Siga las instrucciones de la sección Configuración del proyecto para conectarse a su fuente.
Inicie sesión en el servidor de Azure DevOps y vaya al proyecto.
Seleccione Artefactos y, a continuación, seleccione la fuente.
Seleccione Conectar a la fuente y, a continuación, seleccione NuGet en el panel de navegación izquierdo.
Siga las instrucciones proporcionadas para agregar la dirección URL del origen del paquete al archivo nuget.config.
Importante
El proveedor de credenciales de Azure Artifacts requiere NuGet 4.8.0.5385
o superior.
Para obtener un rendimiento óptimo, Azure Artifacts recomienda usar la versión de NuGet 5.5.x
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:
Inicie sesión en la organización de Azure DevOps y vaya al proyecto.
Seleccione Artifacts y, a continuación, seleccione la fuente en el menú desplegable.
Seleccione Conectar a la fuente y, a continuación, seleccione NuGet.exe desde el panel izquierdo.
Copie la dirección URL de origen y reemplace
/v3/index.json
por/v2
. La dirección URL de origen actualizada debe ser similar a la siguiente: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
Cree un token de acceso personaly asegúrese de asignarlo a la organización adecuada a la que desea acceder y seleccione uno de los siguientes ámbitos: Paquetes (lectura), Paquetes (lectura y escritura)o Paquetes (lectura, escritura y administración).
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>
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 de la fuente de NuGet con la entidad de servicio
Para autenticarse con una entidad de servicio, primero debe instalar el Proveedor de credenciales de Artifacts.
Establezca la variable de entorno ARTIFACTS_CREDENTIALPROVIDER_FEED_ENDPOINTS como se muestra a continuación, especificando la dirección URL de la fuente, el identificador de aplicación (cliente) de la entidad de servicio y el nombre del firmante o la ruta de acceso del archivo del certificado de la entidad de servicio. (Solo se necesita uno entre el nombre del firmante del certificado o la ruta de acceso del archivo).
En PowerShell, escriba el código siguiente.
$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>"
}
]
}
'@