Configuration de Dependabot
💡 Sujet
Dependabot automatise la mise à jour des dépendances d'un projet en créant des Pull Requests.
Toute sa configuration se trouve dans le fichier .github/dependabot.yml.
⚙️ Paramètres obligatoires
Pour chaque écosystème à surveiller, trois paramètres sont indispensables :
version: 2
updates:
- package-ecosystem: "npm" # Obligatoire : l'écosystème (npm, pip, docker, etc.)
directory: "/" # Obligatoire : emplacement du manifest (ex: package.json)
schedule:
interval: "weekly" # Obligatoire : daily, weekly ou monthly🛠️ Paramètres de personnalisation utiles
Pour éviter d'être submergé ou pour mieux organiser les PR, plusieurs options sont disponibles :
Gestion des intervenants
assignees: Liste d'utilisateurs à assigner à la PR.reviewers: Liste de relecteurs (individus ou équipes).labels: Liste de labels à ajouter à la PR (ex:dependencies,security).
assignees:
- "mon-username"
reviewers:
- "mon-equipe-dev"
labels:
- "auto-update"Limitation et ciblage
open-pull-requests-limit: Nombre maximum de PR ouvertes simultanément (par défaut 5).target-branch: Branche sur laquelle proposer les mises à jour (si différente de la branche par défaut).ignore: Permet d'ignorer certaines dépendances ou versions spécifiques.
open-pull-requests-limit: 10
ignore:
- dependency-name: "lodash"
versions: ["4.x"] # Ignore les mises à jour majeures de lodash🔄 Stratégies de versioning
Le paramètre versioning-strategy définit comment Dependabot doit modifier le fichier manifeste :
lockfile-only: Met à jour uniquement le fichier de lock (si possible).increase: Augmente la version dans le manifeste si la nouvelle version dépasse la plage actuelle.increase-if-necessary: N'augmente que si la nouvelle version n'est pas supportée par la plage actuelle.
🧩 Résumé
- 📁 Fichier localisé dans
.github/dependabot.yml. - 🧩
package-ecosystem,directoryetschedulesont le trio de base. - 🏷️ Utiliser les
labelsetreviewerspour automatiser le flux de travail. - 🛑
ignoreest crucial pour bloquer des versions problématiques ou instables.