¿Qué es Dependabot?
Dependabot es una herramienta que automatiza la actualización de dependencias en tu repositorio. Cuando detecta que una de tus dependencias tiene una nueva versión disponible, abre automáticamente un Merge Request (MR) para que puedas revisarla e integrarla fácilmente.
En la política por defecto implementada de forma general, Dependabot solo propone actualizaciones de tipo “patch” (tercer dígito de la versión).
Por ejemplo, si usas log4j 2.3.1 y existe la versión 2.3.2, se abrirá un MR con esa actualización, pero no para 2.4.0 .
¿Con qué tipo de manifiestos trabaja Dependabot?
Dependabot es compatible con una gran variedad de herramientas de construcción. Puede analizar las dependencias de proyectos en:
✅ package.json (Node.js)
✅ pom.xml (Maven)
✅ requirements.txt (Python), entre otros.
También inspecciona los ficheros Dockerfile para verificar si existen nuevos tags disponibles.
¿Que beneficios me aporta?
Las actualizaciones de tipo patch suelen incluir:
✔ Correcciones de errores
✔ Mejoras menores de rendimiento
✔ Parcheo de vulnerabilidades de seguridad
Con Dependabot, recibirás automáticamente notificaciones cuando haya actualizaciones disponibles, ayudándote a mantener tu proyecto más seguro y estable , de manera casi desatendida. Solo tendrás que aceptar el MR que se te proponga y realizar pequeñas pruebas para verificar que todo sigue funcionando correctamente. Y si tu proyecto está integrado en el circuito de integración continua, podrás ver los resultados de la fusión antes de realizarla.
¿Cómo afecta esto a mi proyecto?
Cuando Dependabot detecta una actualización disponible, sigue estos pasos:
1️⃣ Crea una nueva rama con la versión actualizada de la dependencia.
2️⃣ Abre un Merge Request (MR) desde esa rama hacia la rama principal de tu repositorio, que si sigue Estrategía de Ramificación, debe ser rama main.
3️⃣ Tú decides si aceptarlo o rechazarlo tras verificar que la actualización es segura.
🚀 No se aplican cambios automáticamente, siempre tendrás el control.
También identifica problemas de seguridad en tus dependencias y creará Issues en el proyecto con la información que se disponga sobre el problema, incluyendo posibles mitigaciones.
¿A qué versión actualiza Dependabot?
En la politica que se ha establecido de forma general a nivel de instancia, siempre a la última versión “patch” disponible.
📌 Ejemplo: Si usas la versión 2.3.1, Dependabot propondrá actualizar a 2.3.2 (pero no a 2.4.0 ni 3.0.0).
Podrás cambiar el comportamiento de esta politica por defecto, para establecer lo que consideres oportuno para tu proyecto.
¿Qué debo hacer con los Merge Requests abiertos?
Antes de aceptar una actualización, se recomienda:
✅ Probar la nueva versión en un entorno local o de pruebas.
✅ Si tu proyecto está integrado con el circuito de integración continua, podrás ver los resultados del pipeline antes de aceptar la fusión.
✅ Verificar que el proyecto sigue funcionando correctamente.
✅ Revisar el changelog para asegurarse de que no hay cambios inesperados.
Si todo está bien, acepta el Merge Request para mantener tu proyecto actualizado.
¿Qué pasa si rechazo una Merge Request de Dependabot?
Si rechazas un MR para una versión específica (por ejemplo, de 2.3.1 a 2.3.2), Dependabot no volverá a abrir ese MR.
❗ Pero si más adelante aparece una nueva versión (ejemplo: 2.3.3), Dependabot sí abrirá un nuevo Merge Request.
¿Cada cuánto comprueba Dependabot mis dependencias?
Dependabot comprueba las dependencias de tu proyecto diariamente. Si detecta alguna dependencia que pueda actualizar, abrirá un MR.
¿Cómo puedo habilitar Dependabot para mi proyecto?
Tu proyecto será añadido automáticamente a la lista de proyectos a analizar por Dependabot el día después de la creación del repositorio. Ese día Dependabot analizará tu repositorio por primera vez.
¿Cómo puedo utilizar una configuración propia?
Para utilizar una configuración propia de Dependabot, debes crear la carpeta .gitlab en el raíz de tu repositorio y crear un fichero dependabot.yml dentro de dicha carpeta. Posteriormente, debes de configurar el fichero siguiendo las indicaciones de la documentación oficial de Dependabot-Gitlab
¿Dudas o problemas con Dependabot?
Consulta nuestra documentación interna o contacta con el equipo de Impulso DevSecOps.
NAOS:
Operación: Realizar petición
Servicio: DSO - Impulso DevSecOps
Componente: Soporte de las herramientas de apoyo DevSecOps
Elemento: (Sin determinar)
Correo Oficina Impulso DevSecops: impulsodevsecops.ada@juntadeandalucia.es