Note
Para poder utilizar esta característica, el administrador del sitio debe configurar Dependabot updates para tu instancia de GitHub Enterprise Server. Para obtener más información, vea «Habilitación de Dependabot para la empresa».
Es posible que no puedas habilitar ni deshabilitar Dependabot updates si un propietario de empresa ha establecido una directiva a nivel empresarial. Para obtener más información, vea «Aplicación de directivas de seguridad y análisis de código de la empresa».
Acerca de Dependabot version updates
El Dependabot hace el esfuerzo de mantener tus dependencias. Puedes utilizarlo para garantizar que tu repositorio se mantenga automáticamente con los últimos lanzamientos de los paquetes y aplicaciones de los que depende.
Para más información sobre los ecosistemas compatibles con los repositorios privados, consulte "Ecosistemas y repositorios admitidos por Dependabot".
Para habilitar Dependabot version updates, comprueba un archivo de configuración dependabot.yml
en el repositorio. Este archivo de configuración especifica la ubicación del manifiesto o de otros archivos de definición de paquetes almacenados en tu repositorio. Dependabot usa esta información para comprobar si hay aplicaciones y paquetes obsoletos. Dependabot determina si hay una versión nueva de una dependencia buscando el control de versiones semántico (SemVer) de la dependencia para decidir si debería actualizarla a esa versión. Para ciertos administradores de paquetes, Dependabot version updates también es compatible con su delegación a proveedores. Las dependencias delegadas (o almacenadas en caché) son aquellas que se registran en un directorio específico en un repositorio en vez de que se referencien en un manifiesto. Las dependencias delegadas a proveedores están disponibles desde el momento de su creación, incluso si los servidores de paquetes no se encuentran disponibles. Las Dependabot version updates pueden configurarse para verificar las dependencias delegadas a proveedores para las nuevas versiones y también pueden actualizarse de ser necesario.
Cuando Dependabot identifica una dependencia obsoleta, genera una solicitud de incorporación de cambios para actualizar el manifiesto a la versión más reciente de la dependencia. Lara las dependencias delegadas a proveedores, el Dependabot levanta una solicitud de cambios para reemplazar la dependencia desactualizada directamente con la versión nueva. Verificas que tu prueba pase, revisas el registro de cambios y notas de lanzamiento que se incluyan en el resumen de la solicitud de extracción y, posteriormente, lo fusionas. Para obtener más información, vea «Configuración de las actualizaciones de versiones de Dependabot».
Si habilita las actualizaciones de seguridad, Dependabot también generará solicitudes de incorporación de cambios para actualizar las dependencias vulnerables. Para obtener más información, vea «Sobre las actualizaciones de seguridad de Dependabot».
Cuando Dependabot genera solicitudes de incorporación de cambios, pueden ser para actualizaciones de seguridad o de versión:
- Dependabot security updates son solicitudes de incorporación de cambios automatizadas que ayudan a actualizar las dependencias con vulnerabilidades conocidas.
- Dependabot version updates son solicitudes de incorporación de cambios automatizadas que mantienen actualizadas las dependencias, incluso cuando no tienen ninguna vulnerabilidad. Para verificar el estado de las actualizaciones de versión, navega a la pestaña de perspectivas de tu repositorio, luego a la gráfica de dependencias, y luego al Dependabot.
Dependabot firma sus propias confirmaciones de manera predeterminada, incluso si la firma de confirmación no es un requisito para el repositorio. Para obtener más información sobre las confirmaciones de verificación, consulte "Acerca de la verificación de firma de confirmación".
Antes de habilitar Dependabot updates, debes configurar tu instancia de GitHub Enterprise Server para que use GitHub Actions con ejecutores autohospedados. GitHub Actions es necesario para que Dependabot version updates y Dependabot security updates se ejecuten en GitHub Enterprise Server. Para más información, consulta "Habilitación de Dependabot para la empresa".
Frecuencia de las solicitudes de extracción del Dependabot
Tú eres quien especifica qué tan a menudo se revisa cada ecosistema para encontrar nuevas versiones en el archivo de configuración: diario, semanalmente, o mensualmente.
Cuando habilitas las actualizaciones de versión por primera vez, podrías tener muchas dependencias desactualizadas y algunas podrían estar varias versiones debajo de la última. Dependabot verifica las dependencias que estén desactualizadas tan pronto se habilita. Podrías ver nuevas solicitudes de extracción para las actualizaciones de versión después de algunos minutos de haber agregado el archivo de configuración, dependiendo de la cantidad de archivos de manifiesto para los cuales configuras las actualizaciones. El Dependabot también ejecutará una actualización en los cambios subsecuentes al archivo de configuración.
Dependabot también podría crear solicitudes de cambios cuando cambias un archivo de manifiesto después de que falló una actualización. Esto es porque los cambios al manifiesto, tales como eliminar la dependencia que ocasionó que fallara la actualización, podrían causar que la actualización recién activada tenga éxito.
Para facilitar la administración y revisión de las solicitudes de incorporación de cambios, Dependabot genera un máximo de cinco solicitudes de incorporación de cambios para comenzar a actualizar a las dependencias a su versión más reciente. Si fusionas algunas de estas primeras solicitudes de cambios en la siguiente actualización programada, aquellas restantes se abrirán en la siguiente actualización, hasta ese máximo. Puede cambiar el número máximo de solicitudes de incorporación de cambios abiertas si establece la opción de configuración open-pull-requests-limit
.
Para reducir aún más el número de solicitudes de incorporación de cambios que puedes ver, puedes usar la opción de configuración groups
para agrupar conjuntos de dependencias (por ecosistema de paquetes). Dependabot genera una única solicitud de incorporación de cambios para actualizar tantas dependencias como sea posible en el grupo a las versiones más recientes al mismo tiempo. Para más información, consulta "Personalizar las actualizaciones de las dependencias".
Si habilitaste las actualizaciones de seguridad, algunas veces verás solicitudes de extracción adicionales para actualizaciones de seguridad. Estas se desencadenan mediante una alerta Dependabot para una dependencia de la rama predeterminada. El Dependabot levanta automáticamente una solicitud de extracción para actualizar la dependencia vulnerable.
A veces, debido a una configuración errónea o a una versión incompatible, es posible que vea un error en la ejecución de Dependabot. Al cabo de 30 errores de ejecución, Dependabot version updates omitirá las ejecuciones programadas posteriores hasta que desencadene manualmente una comprobación de actualizaciones desde el gráfico de dependencias o actualice el archivo de manifiesto. Las Dependabot security updates se seguirán ejecutando de la forma habitual.
Acerca de la desactivación automática de Dependabot updates
Cuando los mantenedores de un repositorio dejan de interactuar con solicitud de incorporación de cambios de Dependabot, Dependabot pausa temporalmente sus actualizaciones y te informa de ello. Este comportamiento de exclusión automática reduce el ruido porque Dependabot no crea solicitudes de cambios para actualizaciones de versión y de seguridad y no fusiona mediante cambio de base las solicitudes de cambios de Dependabot para los repositorios inactivos.
La desactivación automática de las actualizaciones de Dependabot solo se aplica a los repositorios en los que Dependabot ha abierto solicitudes de incorporación de cambios, pero las solicitudes de incorporación de cambios permanecen intactas. Si Dependabot no ha abierto ninguna solicitud de incorporación de cambios, los datos de Dependabot nunca se pausarán.
Un repositorio activo es un repositorio para el que un usuario (no Dependabot) ha llevado a cabo alguna de las acciones siguientes en los últimos 90 días:
- Combinar o cerrar una solicitud de incorporación de cambios de Dependabot en el repositorio.
- Realizar un cambio en el archivo
dependabot.yml
del repositorio. - Desencadenar manualmente una actualización de seguridad o una actualización de versión.
- Habilitar las Dependabot security updates para el repositorio.
- Usar comandos
@dependabot
en solicitudes de incorporación de cambios.
Un repositorio inactivo es un repositorio que tiene al menos una solicitud de incorporación de cambios de Dependabot abierta durante más de 90 días, se ha habilitado durante el período completo y en el que ningún usuario ha realizado ninguna de las acciones enumeradas anteriormente.
Cuando se pausan los datos Dependabot, GitHub agrega un aviso de banner:
- A todas las solicitudes de cambios Dependabot abiertas.
- En la interfaz de usuario de la pestaña Configuración del repositorio (en Seguridad y análisis de código, Dependabot).
- En la lista de datos Dependabot alerts (si Dependabot security updates se ven afectados).
Además, podrá ver si los datos Dependabot se pausan en el nivel de organización en la información general de seguridad. El estado paused
también será visible a través de la API. Para más información, consulta "Puntos de conexión de la API de REST para repositorios".
En cuanto un mantenedor vuelva a interactuar con una solicitud de incorporación de cambios de Dependabot, Dependabot se reanudará automáticamente:
- Las actualizaciones de seguridad se reanudan automáticamente para Dependabot alerts.
- Las actualizaciones de versión se reanudan automáticamente con la programación especificada en el archivo
dependabot.yml
.
Dependabot también deja de fusionar mediante cambio las solicitudes de cambios para actualizaciones de versión y de seguridad después de 30 días, lo que reduce las notificaciones de las solicitudes de cambios de Dependabot inactivos.
Acerca de las notificaciones para las actualizaciones de versión del Dependabot
Puedes filtrar tus notificaciones en GitHub para mostrar notificaciones para las solicitudes de cambios que creó el Dependabot. Para obtener más información, vea «Administrar las notificaciones en tu bandeja de entrada».