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
Los orígenes ascendentes de Azure Artifacts permiten a los desarrolladores almacenar paquetes de varios orígenes en una sola fuente, incluidos los paquetes publicados en la fuente y los instalados desde registros públicos, como NuGet.org o npmjs.com. Una vez habilitados los orígenes ascendentes, cualquier paquete instalado desde un origen ascendente se guarda automáticamente en el feed.
Nota:
Para guardar paquetes de repositorios ascendentes, debe tener el rol de Lector de fuentes y ascendentes (Colaborador) o superior. Consulte Roles y permisos de feed para obtener más detalles.
¿Por qué usar orígenes ascendentes?
La habilitación de fuentes ascendentes ofrece varias ventajas para administrar las dependencias de tu producto en un solo feed.
Simplicidad: almacenar todos los paquetes en una sola fuente simplifica los archivos de configuración como NuGet.config, npmrc o settings.xml. Con solo una fuente en el archivo de configuración, se reduce la complejidad de la instalación y se minimizan los errores.
Compilaciones coherentes: la fuente resuelve las solicitudes de paquete en un orden definido, lo que ayuda a garantizar compilaciones predecibles y confiables en todos los entornos.
Integridad de Paquetes: El feed retiene los metadatos sobre los paquetes guardados de fuentes upstream, lo que le permite verificar su autenticidad y asegurarse de que está utilizando las versiones originales, no copias ni versiones potencialmente malintencionadas.
Fiabilidad: los paquetes instalados desde orígenes ascendentes se guardan automáticamente en la fuente. Esto garantiza el acceso continuado incluso si el origen ascendente deja de estar disponible temporalmente debido al mantenimiento u otros problemas para poder seguir desarrollando y creando con confianza.
Procedimientos recomendados para consumidores de paquetes
Para aprovechar al máximo las ventajas de las fuentes de origen como consumidor de paquetes, siga estas mejores prácticas:
Uso de una sola fuente en el archivo de configuración
Para que la fuente proporcione una restauración determinista, asegúrese de que el archivo de configuración (como nuget.config o npmrc) haga referencia solo a una fuente con orígenes ascendentes habilitados.
Ejemplos:
registry=https://pkgs.dev.azure.com/fabrikam/_packaging/FabrikamFiber/npm/registry/<packageSources> <clear /> <add key="FabrikamFiber" value="https://pkgs.dev.azure.com/fabrikam/_packaging/FabrikamFiber/nuget/v3/index.json" /> </packageSources>Nota:
NuGet compila varios archivos de configuración para determinar el conjunto completo de opciones que se van a aplicar. El uso de
<clear />garantiza que todos los demás orígenes de paquete especificados en los archivos de configuración de nivel superior se omiten.
Ordene sus fuentes ascendentes intencionadamente
Si solo usa registros públicos como NuGet.org o npmjs.com, el orden de los orígenes ascendentes no afecta al comportamiento. Las solicitudes a la fuente siguen la secuencia que se describe en la sección orden de búsqueda.
Sin embargo, al administrar múltiples fuentes, como una combinación de feeds y registros públicos, se busca en cada fuente ascendente según el orden definido en la configuración del feed. En estos casos, se recomienda colocar primero los registros públicos en la lista de orígenes ascendentes.
En algunos escenarios únicos, algunas organizaciones modifican paquetes de software de código abierto (OSS) para abordar problemas de seguridad, mejorar la funcionalidad o cumplir requisitos internos específicos que requieren volver a generar el paquete internamente en lugar de obtenerlo directamente desde un repositorio público. Si su organización sigue esta práctica, coloque el origen ascendente que contiene estos paquetes de sistema operativo personalizados antes de otros registros públicos. Esto garantiza que las versiones personalizadas se usen en lugar de las públicas.
Procedimientos recomendados para propietarios de fuentes y editores de paquetes
Para asegurarse de que la fuente se puede configurar fácilmente como origen ascendente, siga estos procedimientos recomendados:
Uso de la vista predeterminada
Todos los feeds recién creados utilizan la vista @Local de forma predeterminada. Esta vista incluye:
- Paquetes publicados directamente en el feed.
- Paquetes guardados desde fuentes de origen.
Si desea usar otras vistas, como una vista para las versiones de paquete recién publicadas, puede promover los paquetes a la vista de @Release y, a continuación, hacer que esa vista esté disponible para los consumidores de destino. Consulte Vistas de fuentes para obtener más información.
Construcción de un gráfico de paquetes
Para construir un gráfico de paquetes, simplemente conéctese a la vista predeterminada de la fuente e instale el paquete que desea compartir. Una vez guardado un paquete en la vista predeterminada, los usuarios que quieran consumirlo podrán resolver el gráfico de paquetes e instalar la versión deseada. Los paquetes de orígenes ascendentes se muestran en función de la vista configurada para el origen ascendente correspondiente. Consulte Cómo las fuentes ascendentes construyen el conjunto de paquetes disponibles para obtener más detalles.
Orden de búsqueda
En el caso de los administradores de paquetes públicos que admiten varias fuentes, como NuGet y Maven, el orden en el que se consultan las fuentes a veces puede ser poco clara o no determinista. Por ejemplo, NuGet envía consultas paralelas a todas las fuentes del archivo de configuración y procesa las respuestas de una manera primero en salir (FIFO), lo que puede provocar resultados incoherentes.
Las fuentes de origen de Azure Artifacts eliminan esta incertidumbre al aplicar un orden de búsqueda estructurado, buscando en el feed y en sus fuentes de origen en el siguiente orden:
Paquetes que se han publicado directamente en la fuente.
Paquetes que se han guardado desde un origen ascendente.
Paquetes disponibles desde orígenes ascendentes. Se busca en cada origen ascendente en el orden en que aparece en la configuración de la fuente.
Nota:
Azure Artifacts no admite la búsqueda de paquetes en orígenes ascendentes mediante el Explorador de paquetes NuGet en Visual Studio.
Guardar paquetes de orígenes ascendentes
Cuando se habilita una fuente de origen en tu feed, Azure Artifacts guarda automáticamente una copia de cualquier paquete instalado por un colaborador o un nivel superior desde esa fuente de origen.
Por ejemplo, puede instalar paquetes directamente desde el origen ascendente mediante un comando como npm install express. Como alternativa, es posible que los paquetes se instalen como parte de la resolución de dependencias, por lo que instalar express también guardaría sus dependencias, como accepts.
Las fuentes primarias ofrecen una protección crítica para los usuarios y la infraestructura. Si el registro público sufre un tiempo de inactividad, está en mantenimiento o deja de estar disponible temporalmente, aún puedes recuperar los paquetes necesarios de tu feed y continuar con tu desarrollo.
Nota:
Las fuentes ascendentes personalizadas solo son compatibles con los paquetes npm.
Invalidación de paquetes de orígenes ascendentes
Cuando las fuentes de origen están habilitadas en tu feed, no puedes publicar una versión de paquete que ya exista en una de esas fuentes de origen. Por ejemplo, si la fuente de origen NuGet.org está habilitada, no podrás publicar Newtonsoft.Json 10.0.3 en tu feed, ya que esa versión ya está disponible en NuGet.org.
Para invalidar una versión de paquete de un origen ascendente:
Deshabilite el origen ascendente correspondiente.
Publica la versión del paquete que desees en el feed.
Vuelva a habilitar la fuente ascendente.
Este flujo de trabajo garantiza que puede publicar la versión deseada mientras mantiene la integridad de las fuentes de origen upstream.
Nota:
Las versiones del paquete son inmutables. Los paquetes guardados permanecen en el feed incluso si el origen ascendente está desactivado o eliminado.
Estado de salud de las fuentes ascendentes
Si una fuente tiene un origen ascendente con errores, los metadatos de los paquetes que usan el mismo protocolo ya no se pueden actualizar. Para comprobar el estado de salud de sus fuentes ascendentes, siga estos pasos:
Inicie sesión en su organización de Azure DevOps y vaya al proyecto.
Seleccione Artefactos y, a continuación, seleccione tu feed en el menú desplegable.
Seleccione el
para abrir la Configuración del feed y, a continuación, seleccione Orígenes ascendentes.
Si se produce algún error, se mostrará un mensaje de advertencia. Seleccione el estado Error para ver información detallada, incluida la causa del error y los pasos para resolverlo.
Nota:
En el caso de los registros públicos como NuGet.org, normalmente hay un retraso de 3 a 6 horas entre cuando se inserta un paquete en el registro público y cuando está disponible para su descarga. Este retraso depende del tiempo del trabajo y la propagación de datos. Sin embargo, cuando el origen ascendente es una fuente de Azure Artifacts, la latencia suele no ser superior a unos minutos.