Nota: 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».
Acerca de personalizar las actualizaciones de las dependencias
Después de habilitar las actualizaciones de versión, puedes personalizar cómo mantiene tus dependencias el Dependabot. Para ello, agrega más opciones al archivo dependabot.yml
. Por ejemplo, podría realizar estas acciones:
- Especificar el día de la semana que se deben abrir las solicitudes de incorporación de cambios de las actualizaciones de versión:
schedule.day
- Establecer revisores, usuarios asignados y etiquetas para cada administrador de paquetes:
reviewers
,assignees
ylabels
- Definir una estrategia de control de versiones para los cambios en cada archivo de manifiesto:
versioning-strategy
- Cambiar el número máximo de solicitudes de incorporación de cambios abiertas para las actualizaciones de versión a partir del valor predeterminado de 5:
open-pull-requests-limit
- Abrir solicitudes de incorporación de cambios de actualizaciones de versión para seleccionar una rama específica en vez de la rama predeterminada:
target-branch
Para más información sobre las opciones de configuración, consulta "Opciones de configuración para el archivo dependabot.yml".
Cuando actualices el archivo dependabot.yml
en el repositorio, el Dependabot ejecutará una comprobación inmediata con la nueva configuración. Verá una lista de dependencias actualizada en cuestión de minutos en la pestaña de Dependabot ; esto podría demorarse más si el repositorio tiene muchas dependencias. También puedes ver las solicitudes de extracción nuevas para las actualizaciones de versión. Para obtener más información, vea «Listar dependencias configuradas para las actualizaciones de versión».
Impacto de los cambios de configuración en las actualizaciones de seguridad
Si personalizas el archivo dependabot.yml
, podrías notar algunos cambios en las solicitudes de incorporación de cambios generadas para las actualizaciones de seguridad. Estas solicitudes de extracción siempre se activan mediante una asesoría de seguridad para una dependencia en vez de mediante un calendario de programación del Dependabot. Sin embargo, heredan la configuración correspondiente del archivo dependabot.yml
a menos que especifiques una rama de destino diferente para las actualizaciones de versión.
Para ver un ejemplo, consulte "Configuración de etiquetas personalizadas" a continuación.
Modificar la programación
Cuando configura una programación de actualización de tipo daily
, de manera predeterminada, Dependabot revisa si hay versiones nuevas a las 05:00 UTC. Puede usar schedule.time
para especificar una hora alternativa y comprobar si hay actualizaciones (formato: hh:mm
).
El archivo dependabot.yml
de ejemplo mostrado a continuación expande la configuración de npm para especificar cuándo el Dependabot debe comprobar si existen actualizaciones de versión de dependencias.
# `dependabot.yml` file with
# customized schedule for version updates
version: 2
updates:
# Keep npm dependencies up to date
- package-ecosystem: "npm"
directory: "/"
# Check the npm registry for updates at 2am UTC
schedule:
interval: "daily"
time: "02:00"
Configurar los revisores y asignados
Predeterminadamente, el Dependabot levanta solicitudes de extracción sin ningún revisor o asignado.
Puede usar reviewers
y assignees
para especificar revisores y usuarios asignados para todas las solicitudes de incorporación de cambios generadas de un administrador de paquetes. Cuando especifique un equipo, debe utilizar su nombre completo, como si estuviera @mentioning (incluida la organización).
El archivo dependabot.yml
de ejemplo mostrado a continuación cambia la configuración de npm para que todas las solicitudes de incorporación de cambios que se hayan abierto con actualizaciones de versión y seguridad para npm tengan dos revisores y un usuario asignado.
# `dependabot.yml` file with
# reviews and an assignee for all npm pull requests
version: 2
updates:
# Keep npm dependencies up to date
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "weekly"
# Raise all npm pull requests with reviewers
reviewers:
- "my-org/team-name"
- "octocat"
# Raise all npm pull requests with an assignee
assignees:
- "user-name"
Configurar las etiquetas personalizadas
De manera predeterminada, Dependabot genera todas las solicitudes de incorporación de cambios con la etiqueta dependencies
. Si se define más de un administrador de paquetes, Dependabot incluye una etiqueta adicional en cada una de las solicitudes de incorporación de cambios. Esto indica qué lenguaje o ecosistema actualizará la solicitud de incorporación de cambios, por ejemplo: java
para las actualizaciones de Gradle y submodules
para las actualizaciones de los submódulos de Git. El Dependabot crea estas etiquetas predeterminadas automáticamente, de acuerdo lo necesite tu repositorio.
Puede utilizar labels
para anular las etiquetas predeterminadas y especificar etiquetas alternas para todas las solicitudes de incorporación de cambios que se hayan generado para un administrador de paquetes. No puedes crear etiquetas nuevas en el archivo dependabot.yml
, así que las etiquetas alternativas ya deben existir en el repositorio.
El archivo dependabot.yml
de ejemplo mostrado a continuación cambia la configuración de npm para que todas las solicitudes de incorporación de cambios que se hayan abierto con actualizaciones de versión y seguridad para npm tengan etiquetas personalizadas. También cambia la configuración de Docker para revisar las actualizaciones de versión contra una rama personalizada y para levantar solicitudes de extracción con etiquetas personalizadas contra dicha rama personalizada. Los cambios en Docker no afectarán las solicitudes de extracción para actualizaciones de seguridad, ya que dichas actualizaciones de seguridad siempre se hacen contra la rama predeterminada.
Nota: El nuevo target-branch
debe contener un Dockerfile para actualizar; de lo contrario, este cambio tendrá el efecto de deshabilitar las actualizaciones de versión para Docker.
# `dependabot.yml` file with
# customized npm configuration
version: 2
updates:
# Keep npm dependencies up to date
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "weekly"
# Raise all npm pull requests with custom labels
labels:
- "npm dependencies"
- "triage-board"
# Keep Docker dependencies up to date
- package-ecosystem: "docker"
directory: "/"
schedule:
interval: "weekly"
# Raise pull requests for Docker version updates
# against the "develop" branch. The Docker configuration
# no longer affects security update pull requests.
target-branch: "develop"
# Use custom labels on pull requests for Docker version updates
labels:
- "Docker dependencies"
- "triage-board"
Omitir dependencias específicas para Dependabot version updates
Si no estás listo para adoptar cambios de dependencias en el proyecto, puedes configurar el Dependabot para omitir esas dependencias cuando abre solicitudes de incorporación de cambios para actualizaciones de versiones. Para ello, emplea uno de los métodos siguientes.
- Configura la opción
ignore
para la dependencia en tu archivodependabot.yml
. Puedes usarlo para omitir las actualizaciones de dependencias, versiones y tipos específicos de actualizaciones. Para obtener más información, vea «Opciones de configuración para el archivo dependabot.yml». - Usa comandos de comentario
@dependabot ignore
en una solicitud de incorporación de cambios de Dependabot para las actualizaciones de versión. Puedes usar comandos de comentario para omitir las actualizaciones de dependencias y versiones específicas. Para obtener más información, vea «Administrar las solicitudes de extracción para las actualizaciones de dependencia».
Si deseas dejar de ignorar una dependencia o condición de omisión, puedes eliminar las condiciones de omisión del archivo dependabot.yml
o volver a abrir la solicitud de incorporación de cambios.
Más ejemplos
Para más información, consulta "Opciones de configuración para el archivo dependabot.yml".