Enabling and disabling Dependabot version updates

You can configure your repository so that Dependabot automatically updates the packages you use.

People with write permissions to a repository can enable or disable Actualizaciones de versión del dependabot for the repository.

About version updates for dependencies

You enable Actualizaciones de versión del dependabot 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. For each package manager's dependencies that you want to update, you must specify the location of the package manifest files and how often to check for updates to the dependencies listed in those files. For information about enabling security updates, see "Configuring Actualizaciones de seguridad del dependabot."

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.

El 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 mantener la fácil administración y revisión de las solicitudes de extracción, Dependabot levanta un máximo de cinco solicitudes de extracción 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. Puedes cambiar la cantidad máxima de solicitudes de cambios abiertas si configuras la opción de configuración open-pull-requests-limit. For more information, see "Customizing dependency updates."

Cuando ejecutas actualizaciones de versión o de seguridad, algunos ecosistemas deberán poder resolver todas las dependencias de su fuente para verificar que las actualizaciones sean exitosas. Si tus archivos de manifiesto o de bloqueo contienen cualquier dependencia privada, el Dependabot deberá poder acceder a la ubicación en la que se hospedan dichas dependencias. Los propietarios de las organizaciones pueden otorgar acceso al Dependabot para los repositorios privados que contengan dependencias para un proyecto dentro de la misma organización. Para obtener más información, consulta la sección "Administrar la configuración de seguridad y análisis para tu organización". Puedes configurar el acceso a los registros privados en el archivo de configuración dependabot.yml de un repositorio. Para obtener más información, consulta la sección "Opciones de configuración para las actualizaciones de dependencias". Additionally, Dependabot doesn't support private GitHub dependencies for all package managers. For more information, see "About Dependabot version updates" and "GitHub language support."

Enabling Actualizaciones de versión del dependabot

  1. Crea un archivo de configuración dependabot.yml. For information, see "Configuration options for dependency updates."
  2. Add a version.
  3. Optionally, if you have dependencies in a private registry, add a registries section containing authentication details.
  4. Add an updates section, with an entry for each package manager you want Dependabot to monitor.
  5. For each package manager, use:
    • package-ecosystem to specify the package manager.
    • directory to specify the location of the manifest or other definition files.
    • schedule.interval to specify how often to check for new versions.
  6. Revisa el archivo de configuración dependabot.yml en el directorio .github del repositorio.

Example dependabot.yml file

The example dependabot.yml file below configures version updates for two package managers: npm and Docker. When this file is checked in, Dependabot checks the manifest files on the default branch for outdated dependencies. If it finds outdated dependencies, it will raise pull requests against the default branch to update the dependencies.

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

In the example above, if the Docker dependencies were very outdated, you might want to start with a daily schedule until the dependencies are up-to-date, and then drop back to a weekly schedule.

Enabling version updates on forks

If you want to enable version updates on forks, there's an extra step. Version updates are not automatically enabled on forks when a dependabot.yml configuration file is present. This ensures that fork owners don't unintentionally enable version updates when they pull changes including a dependabot.yml configuration file from the original repository.

On a fork, you also need to explicitly enable Dependabot.

  1. En GitHub.com, visita la página principal del repositorio.
  2. Debajo de tu nombre de repositorio, da clic en Perspectivas. Pestaña de perspectivas en la barra de navegación del repositorio principal
  3. En la barra lateral izquierda, da clic en Gráfica de dependencias. Pestaña de gráfica de dependencias en la barra lateral izquierda
  4. Debajo de "Gráfica de dependencias", da clic en Dependabot. Gráfica de dependencias, pestaña de Dependabot
  5. Under "Enable Dependabot", click Enable Dependabot.

Checking the status of version updates

After you enable version updates, the Dependabot tab in the dependency graph for the repository is populated. This tab shows which package managers Dependabot is configured to monitor and when Dependabot last checked for new versions.

Repository Insights tab, Dependency graph, Dependabot tab

For information, see "Listing dependencies configured for version updates."

Disabling Actualizaciones de versión del dependabot

You can disable version updates entirely by deleting the dependabot.yml file from your repository. More usually, you want to disable updates temporarily for one or more dependencies, or package managers.

  • Package managers: disable by setting open-pull-requests-limit: 0 or by commenting out the relevant package-ecosystem in the configuration file.
  • Specific dependencies: disable by adding ignore attributes for packages or applications that you want to exclude from updates.

When you disable dependencies, you can use wild cards to match a set of related libraries. You can also specify which versions to exclude. This is particularly useful if you need to block updates to a library, pending work to support a breaking change to its API, but want to get any security fixes to the version you use.

Example disabling version updates for some dependencies

The example dependabot.yml file below includes examples of the different ways to disable updates to some dependencies, while allowing other updates to continue.

# 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"
    ignore:
      # Ignore updates to packages that start with '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"]
      # For all packages, ignore all patch updates
      - dependency-name: "*"
        update-types: ["version-update:semver-patch"]

For more information about checking for existing ignore preferences, see "Configuration options for dependency updates."

¿Te ayudó este documento?

Política de privacidad

¡Ayúdanos a hacer geniales estos documentos!

Todos los documentos de GitHub son de código abierto. ¿Notas algo que esté mal o que no sea claro? Emite una solicitud de cambios.

Haz una contribución

O, aprende cómo contribuir.