Skip to main content

Esta versión de GitHub Enterprise Server se discontinuó el 2024-03-26. No se realizarán lanzamientos de patch, ni siquiera para problemas de seguridad críticos. Para obtener rendimiento mejorado, seguridad mejorada y nuevas características, actualice a la versión más reciente de GitHub Enterprise Server. Para obtener ayuda con la actualización, póngase en contacto con el soporte técnico de GitHub Enterprise.

Personalizar las actualizaciones de las dependencias

Puedes personalizar cómo el Dependabot mantiene tus dependencias.

¿Quién puede utilizar esta característica?

People with write permissions to a repository can configure Dependabot for the repository.

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 y labels
  • 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.

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".