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
Una organización de Azure DevOps. Cree una organización, si aún no tiene ninguna.
Un proyecto de Azure DevOps. Cree un nuevo proyecto si aún no tiene uno.
Establezca la visibilidad del proyecto en público.
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.
Inicie sesión en su organización de Azure DevOps y seleccione el proyecto público.
Seleccione Artefactos y, a continuación, Crear feed.
Asigne un nombre a la fuente y, a continuación, seleccione Project: PublicProject (Recomendado) para su ámbito.
Seleccione Crear cuando haya terminado.
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 .
Adición de un origen ascendente
Inicie sesión en su organización de Azure DevOps y seleccione el proyecto público.
Seleccione Artefactos y, a continuación, seleccione la fuente pública.
Seleccione el icono de engranaje para acceder a la configuración de fuente.
Seleccione Orígenes ascendentes y, después, Agregar ascendente.
Seleccione el tipo de origen ascendente. En este ejemplo, agregaremos NuGet.org como origen ascendente.
Configure el origen y, a continuación, seleccione Agregar cuando haya terminado.
Seleccione Guardar para guardar el nuevo origen ascendente.
Importante
Los archivos de bloqueo de paquetes son necesarios para guardar paquetes NuGet y Dotnet de orígenes ascendentes en una fuente pública.
Restaurar paquetes
Ejecute el siguiente comando en el directorio del proyecto para restaurar los paquetes:
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.
Preguntas y respuestas
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:
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.
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>