Nota: Las Actualizaciones de versión para el Dependabot de GitHub se encuentran actualmente en beta y están sujetas a cambios. Para utilizar la característica del beta, sigue las instrucciones en este artículo.
Acerca de las actualizaciones de versión para las dependencias
You enable Actualizaciones de versión para el Dependabot de GitHub by checking a dependabot.yml configuration file in to your repository's .github directory. Dependabot then raises pull requests to keep the dependencies you configure up-to-date. Para cada dependencia del administrador de paquete que quieras actualizar, debes especificar la ubicación de los archivos de manifiesto de dicho paquete, así como la periodicidad en la que quieres buscar actualizaciones para las dependencias listadas en esos archivos. Para obtener información acerca de las actualizaciones de seguridad, consulta la sección "Configurar las Actualizaciones de seguridad del Dependabot de GitHub".
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 de GitHub checks for outdated dependencies as soon as it's enabled. 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.
To keep pull requests manageable and easy to review, Dependabot raises a maximum of five pull requests to start bringing dependencies up to the latest version. Si fusionas algunas de estas primeras solicitudes de extracción antes de la siguiente actualización programada, entonces se abrirá un máximo de cinco solicitudes para todas aquellas subsecuentes (puedes cambiar este límite). Para obtener más información, consulta la sección "Personalizar las actualizaciones de las dependencias".
Habilitar Actualizaciones de versión para el Dependabot de GitHub
Currently, Actualizaciones de versión para el Dependabot de GitHub doesn't support manifest or lock files that contain any private git dependencies or private git registries. This is because, when running version updates, Dependabot must be able to resolve all dependencies from their source to verify that version updates have been successful. However, if you want to enable version updates for dependency manifests or lock files that do contain private dependencies, you can still enable Dependabot preview.
- Crea un archivo de configuración dependabot.yml.
- Utiliza
package-ecosystempara especificar los administradores de paquete que se deben monitorear. - Para cada administrador de paquete, utiliza:
directorypara especificar la ubicación del manifiesto u otros archivos de definición.schedule.intervalpara especificar qué tan a menudo se debe revisar si hay nuevas versiones.
- Revisa el archivo de configuración dependabot.yml en el directorio
.githubdel repositorio.
Archivo dependabot.yml de ejemplo
El archivo de ejemplo dependabot.yml que se muestra a continuación configura las actualizaciones de versión para dos administradores de paquete: npm y Docker. Cuando se registra este archivo, el Dependabot de GitHub revisa los archivos de manifiesto en la rama predeterminada par ver si hay dependencias desactualizadas. Si encuentra dependencias desactualizadas, levantará solicitudes de extracción contra la rama predeterminada para actualizar estas dependencias.
# Basic dependabot.yml file with
# minimum configuration for two package managers
version: 2
updates:
# Enable version updates for npm
- package-ecosystem: "npm"
# Look for `package.json` and `lock` files in the `root` directory
directory: "/"
# Check the npm registry for updates every day (weekdays)
schedule:
interval: "daily"
# Enable version updates for Docker
- package-ecosystem: "docker"
# Look for a `Dockerfile` in the `root` directory
directory: "/"
# Check for updates once a week
schedule:
interval: "weekly"
En el ejemplo anterior, si las dependencias de Docker estuvieran muy desactualizadas, tal vez quisieras comenzar con una programación de tipo daily hasta que las dependencias estén bien actualizadas y, posteriormente, tomar una programación semanal.
Habilitar las actualizaciones de versión en las bifurcaciones
Si quieres habilitar las actualizaciones de versión en las bifurcaciones, hay un paso extra que debes tomar. Las actualizaciones de versión no se habilitan automáticamente en las bifurcaciones cuando existe un archivo de configuración dependabot.yml. Esto garantiza que los dueños de la bifurcación no habiliten las actualizaciones de versión accidentalmente cuando suben cambios, incluyendo el archivo de configuración dependabot.yml del repositorio original.
En una bifurcación, también necesitas habilitar explícitamente el Dependabot de GitHub.
- En GitHub, visita la página principal del repositorio.
- Debajo de tu nombre de repositorio, da clic en Perspectivas.

- En la barra lateral izquierda, da clic en Gráfica de dependencias.

- Debajo de "Gráfica de dependencias", da clic en Dependabot.

- Debajo de "Habilitar el Dependabot", da clic en Enable Dependabot.
Revisar el estado de las actualizaciones de versión
Después de que habilitas las actualizaciones de versión, verás una nueva pestaña de Dependabot en la gráfica de dependencias del repositorio. This tab shows which package managers Dependabot de GitHub is configured to monitor and when Dependabot last checked for new versions.

For information, see "Listing dependencies configured for version updates."
Inhabilitar las Actualizaciones de versión para el Dependabot de GitHub
Puedes inhabilitar las actualizaciones de versión completamente si eliminas el archivo dependabot.yml de tu repositorio. Normalmente, tal vez quieras inhabilitar las actualizaciones temporalmente para una o más dependencias o administradores de paquete.
- Administradores de paquete: inhabilítalas configurando
open-pull-requests-limit: 0o dejando de comentar elpackage-ecosystemrelevante en el archivo de configuración. - Dependencias específicas: inhabilítalas agregando los atributos de
ignorepara los paquetes o aplicaciones que quieras excluir de las actualizaciones.
Cuando inhabilitas las dependencias, puedes utilizar comodines para empatar con un conjunto de bibliotecas relacionadas. También puedes especificar qué versiones excluir. Esto es particularmente útil si necesitas bloquear actualizaciones en una biblioteca, el trabajo pendiente para apoyar un cambio sustancial en su API, pero quieres quieres obtener cualquier arreglo de seguridad para la versión que utilices.
Ejemplo de inhabilitar las actualizaciones de versión para algunas dependencias
En este archivo de dependabot.yml de ejemplo se incluyen ejemplos de las formas diferentes para inhabilitar las actualizaciones en algunas dependencias, mientras que se permite que otras actualizaciones continuen.
# dependabot.yml file with updates
# disabled for Docker and limited for npm
version: 2
updates:
# Configuration for Dockerfile
- package-ecosystem: "docker"
directory: "/"
schedule:
interval: "weekly"
# Disable all pull requests for Docker dependencies
open-pull-requests-limit: 0
# Configuration for npm
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "daily"
# Overwrite any ignores created using `@dependabot ignore` commands
ignore:
# Ignore updates to packages that start 'aws'
# Wildcards match zero or more arbitrary characters
- dependency-name: "aws*"
# Ignore some updates to the 'express' package
- dependency-name: "express"
# Ignore only new versions for 4.x and 5.x
versions: ["4.x", "5.x"]
Advertencia: Antes de que agregues una opción de ignore al archivo de configuración dependabot.yml, revisa si el repositorio ya tiene alguna preferencia de ignorar (Que se haya creado utilizando los comandos de @dependabot ignore). Cuando agregas una opción de ignore al archivo de configuración dependabot.yml, esto ignora cualquier preferencia de ignorar almacenada centralmente para ese administrador de paquetes, rama, y directorio.
Esto afecta a las actualizaciones tanto de seguridad como de versión.
Para obtener más información acerca de revisar si existen preferencias para ignorar, consulta la sección "Opciones de configuración para las actualizaciones de depdendencias".