Remarque
Votre administrateur de site doit configurer les Dependabot updates pour votre instance GitHub Enterprise Server afin que vous puissiez utiliser cette fonctionnalité. Pour plus d’informations, consultez Activation de Dependabot pour votre entreprise.
Il se peut que vous ne puissiez pas activer ou désactiver Dependabot updates si le propriétaire de l'entreprise a défini une politique au niveau de l'entreprise. Pour plus d’informations, consultez « Application de stratégies de sécurité et d’analyse du code pour votre entreprise ».
Activation des Dependabot version updates
Vous activez les Dependabot version updates en validant un fichier de configuration dependabot.yml dans votre référentiel.
-
Créez un fichier de configuration
dependabot.ymldans le répertoire.githubde votre référentiel. Vous pouvez utiliser l'extrait de code ci-dessous comme point de départ. For information about the options you can use to customize how Dependabot maintains your repositories, see Référence des options Dependabot.YAML # To get started with Dependabot version updates, you'll need to specify which # package ecosystems to update and where the package manifests are located. version: 2 updates: - package-ecosystem: "" # See documentation for possible values directory: "/" # Location of package manifests schedule: interval: "weekly"# To get started with Dependabot version updates, you'll need to specify which # package ecosystems to update and where the package manifests are located. version: 2 updates: - package-ecosystem: "" # See documentation for possible values directory: "/" # Location of package manifests schedule: interval: "weekly" -
Ajoutez une
version. Cette clé est obligatoire. Le fichier doit commencer parversion: 2. -
Si vous avez des dépendances dans un registre privé, vous pouvez ajouter une section
registriescontenant les détails de l’authentification. Pour plus d’informations, consultez « Configuration de l’accès aux registres privés pour Dependabot ». -
Ajoutez une section
updates, avec une entrée pour chaque gestionnaire de package à faire superviser par Dependabot. Cette clé est obligatoire. Vous l’utilisez pour configurer la façon dont Dependabot met à jour les versions ou les dépendances de votre projet. Chaque entrée configure les paramètres de mise à jour pour un gestionnaire de package particulier. Pour plus d’informations, consultez « À propos du fichier dependabot.yml » et « Référence des options Dependabot ». -
Pour chaque gestionnaire de package, utilisez :
-
`package-ecosystem` pour spécifier le gestionnaire de package. Pour plus d’informations sur les gestionnaires de package pris en charge, consultez [`package-ecosystem`](/code-security/dependabot/working-with-dependabot/dependabot-options-reference#package-ecosystem-). -
`directories` ou `directory` pour spécifier l’emplacement de plusieurs manifestes ou d’autres fichiers de définition. Pour plus d’informations, consultez [Définition de plusieurs emplacements pour les fichiers manifestes](/code-security/dependabot/dependabot-version-updates/controlling-dependencies-updated#defining-multiple-locations-for-manifest-files). -
`schedule.interval` pour spécifier la fréquence à laquelle rechercher les nouvelles versions.
-
-
Vérifiez le fichier de configuration dependabot.yml dans le répertoire
.githubdu référentiel.
Exemple de fichier dependabot.yml
L’exemple de fichier dependabot.yml ci-dessous configure les mises à jour de version pour trois gestionnaires de paquets : npm, Docker et GitHub Actions. Quand ce fichier est archivé, Dependabot vérifie si les fichiers manifestes sur la branche par défaut contiennent des dépendances obsolètes. S’il trouve des dépendances obsolètes, il déclenche des demandes de tirage par rapport à la branche par défaut pour mettre à jour les dépendances.
# Basic `dependabot.yml` file with
# minimum configuration for three 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"
# Enable version updates for GitHub Actions
- package-ecosystem: "github-actions"
# Workflow files stored in the default location of `.github/workflows`
# You don't need to specify `/.github/workflows` for `directory`. You can use `directory: "/"`.
directory: "/"
schedule:
interval: "weekly"
# Basic `dependabot.yml` file with
# minimum configuration for three 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"
# Enable version updates for GitHub Actions
- package-ecosystem: "github-actions"
# Workflow files stored in the default location of `.github/workflows`
# You don't need to specify `/.github/workflows` for `directory`. You can use `directory: "/"`.
directory: "/"
schedule:
interval: "weekly"
Dans l’exemple ci-dessus, si les dépendances Docker étaient très obsolètes, vous pourriez commencer par une planification daily jusqu’à ce que les dépendances soient à jour, puis revenir à une planification hebdomadaire.
Activation des mises à jour de version sur les duplications (forks)
Si vous souhaitez activer les mises à jour de version sur les duplications, il existe une étape supplémentaire. Les mises à jour de version ne sont pas automatiquement activées sur les duplications quand un fichier de configuration dependabot.yml est présent. Cela garantit que les propriétaires de duplication n’activent pas involontairement les mises à jour de version quand ils tirent (pull) des modifications incluant un fichier de configuration dependabot.yml à partir du dépôt d’origine.
Sur une duplication, vous devez également activer explicitement Dependabot.
-
Sur GitHub, accédez à la page principale du référentiel.
-
Sous le nom de votre référentiel, cliquez sur Paramètres. Si vous ne voyez pas l’onglet « Paramètres », sélectionnez le menu déroulant , puis cliquez sur Paramètres.

-
Dans la section « Sécurité » de la barre latérale, cliquez sur Code security.
-
Sous « Code security », à droite de « Dependabot version updates », cliquez sur Activer pour permettre à Dependabot d'initier des mises à jour de version.
Réception de mises à jour pour les dépendances indirectes
Par défaut, seules les dépendances directes définies explicitement dans un manifeste sont conservées à jour par Dependabot version updates. Vous pouvez choisir de recevoir des mises à jour pour les dépendances indirectes définies dans les fichiers de verrouillage. Pour plus d’informations, consultez « Contrôle des dépendances mises à jour par Dependabot ».
Autorisation de l’accès aux dépendances privées
Lors de l’exécution de mises à jour de sécurité ou de version, certains écosystèmes doivent être capables de résoudre toutes les dépendances de leur source pour vérifier que les mises à jour ont réussi. Si vos fichiers manifeste ou de verrouillage contiennent des dépendances privées, Dependabot doit être capable d’accéder à l’emplacement auquel ces dépendances sont hébergées. Les propriétaires de l’organisation peuvent octroyer à Dependabot un accès aux dépôts privés contenant des dépendances pour un projet au sein de cette même organisation. Pour plus d’informations, consultez « Gestion des paramètres de sécurité et d'analyse pour votre organisation ». Vous pouvez configurer un accès aux registres privés dans le fichier de configuration dependabot.yml d’un dépôt. Pour plus d’informations, consultez « Configuration de l’accès aux registres privés pour Dependabot ».
De plus, Dependabot ne prend pas en charge les dépendances GitHub privées pour tous les gestionnaires de package. Pour plus d’informations, consultez « Écosystèmes et référentiels pris en charge par Dependabot » et « Prise en charge GitHub des langages ».
Vérification de l’état des mises à jour de version
Une fois que vous avez activé les mises à jour de version, l’onglet Dependabot dans le graphe de dépendances du dépôt est rempli. Cet onglet indique quels sont les gestionnaires de packages que Dependabot doit superviser et quand Dependabot a recherché les nouvelles versions pour la dernière fois.

Pour plus d'informations, veuillez consulter la section Liste des dépendances configurées pour les mises à jour de version.
Désactivation des Dependabot version updates
Vous pouvez désactiver entièrement les mises à jour de version en supprimant le fichier dependabot.yml de votre référentiel. Plus généralement, vous souhaitez désactiver temporairement les mises à jour pour une ou plusieurs dépendances ou gestionnaires de packages.
- Gestionnaires de packages : effectuez la désactivation en définissant
open-pull-requests-limit: 0ou en commentant l’élémentpackage-ecosystemapproprié dans le fichier de configuration. - Dépendances spécifiques : effectuez la désactivation en ajoutant des attributs
ignorepour les packages ou les applications que vous souhaitez exclure des mises à jour.
Quand vous désactivez les dépendances, vous pouvez utiliser des caractères génériques pour désigner un ensemble de bibliothèques associées. Vous pouvez également spécifier les versions à exclure. Cela est particulièrement utile si vous devez bloquer les mises à jour d’une bibliothèque, en attente d’un travail permettant de prendre en charge un changement cassant de son API, mais que vous souhaitez obtenir des correctifs de sécurité pour la version que vous utilisez.
Exemple de désactivation des mises à jour de version pour certaines dépendances
L’exemple de fichier dependabot.yml ci-dessous inclut des exemples des différentes façons de désactiver les mises à jour de certaines dépendances, tout en permettant la poursuite des autres mises à jour.
# `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: "weekly"
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"]
Pour savoir si des préférences « ignore » sont appliquées, consultez Référence des options Dependabot.