Comparteix a través de


Uso de orígenes ascendentes en una fuente pública

Azure Artifacts permite a los desarrolladores administrar sus dependencias desde una sola fuente. Con orígenes ascendentes, puede consumir paquetes de fuentes y registros públicos, como NuGet.org y npmjs.com. En este artículo, aprenderá a:

  • Creación de una fuente pública
  • Habilitación de orígenes ascendentes
  • Adición de un nuevo origen ascendente

Requisitos previos

Importante

Los archivos de bloqueo de paquetes ayudan con compilaciones reproducibles y minimizan los escenarios en los que se solicitará a un usuario anónimo las credenciales al usar fuentes públicas.

Creación de una fuente pública

Una fuente pública es una fuente con ámbito de proyecto en un proyecto público. Las fuentes públicas heredan la configuración de visibilidad del proyecto de hospedaje.

  1. Inicie sesión en su organización de Azure DevOps y seleccione el proyecto público.

  2. Seleccione Artefactos y, a continuación, Crear feed.

    Captura de pantalla que muestra el botón Crear fuente en Azure Artifacts.

  3. Asigne un nombre a la fuente y, a continuación, seleccione Project: PublicProject (Recomendado) para su ámbito.

    Captura de pantalla que muestra cómo crear una nueva fuente pública.

  4. Seleccione Crear cuando haya terminado.

Adición de un origen ascendente

  1. Inicie sesión en su organización de Azure DevOps y seleccione el proyecto público.

  2. Seleccione Artefactos y, a continuación, seleccione la fuente pública.

  3. Seleccione el icono engranaje de engranaje para acceder a la Configuración de fuente.

  4. Seleccione Orígenes ascendentes y, después, Agregar ascendente.

    Captura de pantalla que muestra cómo agregar un origen ascendente en una fuente pública.

  5. Seleccione el tipo de origen ascendente. En este ejemplo, agregaremos NuGet.org como origen ascendente.

    Captura de pantalla que muestra los diferentes tipos de orígenes ascendentes.

  6. Configure el origen y, a continuación, seleccione Guardar cuando haya terminado.

    Captura de pantalla que muestra cómo configurar el origen ascendente.

  7. Seleccione Guardar para guardar el nuevo origen ascendente.

    Captura de pantalla que muestra cómo guardar el origen ascendente recién agregado.

Importante

Las fuentes públicas no admiten la subida a una fuente de artefactos privada. Si usa una fuente pública de Azure Artifacts, solo puede subir a registros públicos (NuGet.org, npmjs) u otras fuentes de Azure Artifacts públicas .

Restaurar paquetes

Ejecute el siguiente comando en un símbolo del sistema con privilegios elevados:

nuget.exe restore

Nota:

Debe ser un lector de fuente y ascendente (colaborador) o superior para instalar nuevas versiones de paquete desde la cadena ascendente. Los usuarios anónimos solo pueden instalar paquetes que existen en su fuente.

Q&A

P: ¿Estoy intentando restaurar mis paquetes, pero obtengo un error 401 no autorizado?

El contenido de una fuente solo se puede cambiar mediante una identidad autenticada y autorizada que tenga los permisos adecuados en la fuente. Esto incluye guardar paquetes en la fuente desde un origen ascendente. Los usuarios no autenticados (anónimos) pueden descargar paquetes ya guardados en una fuente, pero no pueden guardar nuevos paquetes de una cadena ascendente en la fuente.

Los mantenedores de un proyecto deben guardar todas las versiones necesarias de los paquetes en la fuente pública. Esto se puede hacer mediante la restauración de un proyecto mediante una identidad que pueda proporcionar credenciales a la fuente cuando se le solicite y asegurarse de que la identidad usada tiene permisos de fuente y lector ascendente (colaborador) o superior en la fuente pública.

Si los usuarios anónimos que restauran paquetes para un proyecto se bloquean repetidamente mediante solicitudes de credenciales (respuesta 401), los enfoques siguientes reducirán o eliminarán el problema:

  1. Evite usar intervalos de versión del paquete en la configuración del proyecto. Las versiones de paquetes explícitas garantizarán que los clientes de empaquetado solo soliciten la versión exacta necesaria.

  2. Cuando sea compatible, utilice archivos de bloqueo para el ecosistema de empaquetado para que los clientes de empaquetado solo soliciten las versiones específicas necesarias para el proyecto durante una operación de restauración e instalación.

P: Estoy intentando restaurar mis paquetes con Visual Studio, pero estoy notando que se extraen de un origen diferente?

R: Asegúrese de que Visual Studio usa el origen al que se hace referencia en el archivo nuget.config y no desde el administrador de paquetes NuGet local. Consulte Orígenes de paquetes para obtener más detalles.

También puede usar la CLI de NuGet para forzar a NuGet a usar el origen en el archivo de configuración ejecutando el siguiente comando:

nuget restore -config <PATH_TO_NUGET_CONFIG_FILE>