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 ».
À propos des Dependabot version updates
Dependabot s’efforce de maintenir vos dépendances. Vous pouvez l’utiliser pour vous assurer que votre dépôt reçoit automatiquement les dernières versions des packages et des applications dont il dépend.
Vous activez les Dependabot version updates en archivant un fichier de configuration dependabot.yml
dans votre référentiel. Le fichier de configuration spécifie l’emplacement du manifeste, ou d’autres fichiers de définition de package, stockés dans votre dépôt. Dependabot utilise ces informations pour rechercher les packages et applications obsolètes. Dependabot détermine s’il existe une nouvelle version d’une dépendance en examinant le versioning sémantique (semver) de celle-ci. Il peut ainsi décider s’il est nécessaire de mettre à jour la dépendance vers cette version. Pour certains gestionnaires de packages, les Dependabot version updates prennent également en charge le placement dans le répertoire vendor. Les dépendances placées dans le répertoire vendor (ou mises en cache) sont des dépendances qui sont archivées dans un répertoire spécifique au sein d’un dépôt plutôt que référencées dans un manifeste. Les dépendances placées dans le répertoire vendor sont disponibles au moment de la génération, même si les serveurs de package ne sont pas disponibles. Les Dependabot version updates peuvent être configurées pour vérifier s’il existe de nouvelles versions pour les dépendances placées dans le répertoire vendor et mettre celles-ci à jour si nécessaire.
Quand Dependabot identifie une dépendance obsolète, il déclenche une demande de tirage (pull request) pour mettre à jour le manifeste vers la dernière version de la dépendance. Pour les dépendances placées dans le répertoire vendor, Dependabot déclenche une demande de tirage pour remplacer la dépendance obsolète par la nouvelle version directement. Vous vérifiez que vos tests réussissent, passez en revue le journal des modifications et les notes de publication incluses dans le résumé de la demande de tirage, puis vous la fusionnez. Pour plus d’informations, consultez « Configuration de mises à jour de version Dependabot ».
Si vous activez les mises à jour de sécurité, Dependabot déclenche également des demandes de tirage pour mettre à jour les dépendances vulnérables. Pour plus d’informations, consultez « À propos des mises à jour de sécurité Dependabot ».
Quand Dependabot déclenche des demandes de tirage, celles-ci peuvent concerner des mises à jour de sécurité ou de version :
- Les Dependabot security updates sont des demandes de tirage automatisées qui vous aident à mettre à jour les dépendances qui ont des vulnérabilités connues.
- Les Dependabot version updates sont des demandes de tirage automatisées qui tiennent à jour les dépendances, même si elles ne présentent aucune vulnérabilité. Pour vérifier l’état des mises à jour de version, accédez à l’onglet Insights de votre dépôt, puis sélectionnez Dependency Graph et Dependabot.
GitHub Actions n’est indispensable à l’exécution des Dependabot version updates et des Dependabot security updates sur GitHub Enterprise Server. Avant d’activer les Dependabot updates, vous devez configurer votre instance GitHub Enterprise Server pour utiliser GitHub Actions avec des exécuteurs autohébergés. Pour plus d’informations, consultez « Activation de Dependabot pour votre entreprise ».
Fréquence des demandes de tirage Dependabot
Vous spécifiez la fréquence à laquelle vérifier chaque écosystème pour déterminer s’il existe de nouvelles versions dans le fichier de configuration : quotidienne, hebdomadaire ou mensuelle.
Lorsque vous activez les mises à jour de version pour la première fois, vous pouvez avoir de nombreuses dépendances obsolètes et certaines peuvent remonter à de nombreuses versions avant la dernière version. Dependabot recherche les dépendances obsolètes dès qu’il est activé. Vous pouvez voir de nouvelles demandes de tirage pour les mises à jour de version dans les minutes qui suivent l’ajout du fichier de configuration, en fonction du nombre de fichiers manifeste pour lesquels vous configurez les mises à jour. Dependabot exécute également une mise à jour sur les modifications suivantes apportées au fichier de configuration.
Dependabot peut également créer des demandes de tirage lorsque vous modifiez un fichier manifeste une fois qu’une mise à jour a échoué. Cela est dû au fait que les modifications apportées à un manifeste, telles que la suppression de la dépendance qui a provoqué l’échec de la mise à jour, peuvent entraîner la réussite de la mise à jour nouvellement déclenchée.
Pour que les demandes de tirage restent faciles à gérer et à réviser, Dependabot déclenche un maximum de cinq demandes de tirage pour commencer à mettre les dépendances à niveau vers la version la plus récente. Si vous fusionnez certaines de ces premières demandes de tirage avant la prochaine mise à jour planifiée, les demandes de tirage restantes seront ouvertes au cours de la prochaine mise à jour, jusqu’à ce maximum. Vous pouvez modifier le nombre maximal de demandes de tirage ouvertes en définissant l’option de configuration open-pull-requests-limit
.
Pour plus d’informations, consultez « Personnalisation des mises à jour des dépendances ».
Si vous avez activé les mises à jour de sécurité, vous voyez parfois des demandes de tirage supplémentaires pour les mises à jour de sécurité. Celles-ci sont déclenchées par une alerte Dependabot pour une dépendance sur votre branche par défaut. Dependabot déclenche automatiquement une demande de tirage pour mettre à jour la dépendance vulnérable.
Dépôts et écosystèmes pris en charge
Vous pouvez configurer les mises à jour de version pour les dépôts qui contiennent un fichier de verrouillage ou manifeste de dépendance pour l’un des gestionnaires de packages pris en charge. Pour certains gestionnaires de packages, vous pouvez également configurer le placement dans le répertoire vendor pour les dépendances. Pour plus d’informations, consultez « Options de configuration pour le fichier dependabot.yml ».
Remarque : pour vous assurer que GitHub Enterprise Server prend en charge les Dependabot updates pour les dernières versions d’écosystème prises en charge, votre propriétaire d’entreprise doit télécharger la version la plus récente de l’action Dependabot. Pour plus d’informations sur l’action et pour obtenir des instructions sur le téléchargement de la version la plus récente, consultez « Utilisation de la dernière version des actions groupées officielles ».
Remarque : 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 « Options de configuration pour le fichier dependabot.yml ».
Dependabot ne prend pas en charge les dépendances GitHub privées pour tous les gestionnaires de package. Pour plus d’informations, consultez le tableau ci-dessous.
Pour chaque gestionnaire de package, le tableau suivant montre ce qui suit :
- Valeur YAML à utiliser dans le fichier
dependabot.yml
- Versions prises en charge du gestionnaire de package
- Indique si les dépendances des référentiels et registres privés GitHub sont pris en charge
- Indique si les dépendances fournisseur sont prises en charge
Gestionnaire de package | Valeur YAML | Versions prises en charge | Référentiels privés | Registres privés | Vendoring |
---|---|---|---|---|---|
Bundler | bundler | v1, v2 | |||
Cargo | cargo | v1 | (git uniquement) | ||
Composer | composer | v1, v2 | |||
Docker | docker | v1 | Non applicable | ||
Hex | mix | v1 | |||
elm-package | elm | v0.19 | |||
sous-module git | gitsubmodule | Non applicable | Non applicable | ||
GitHub Actions | github-actions | Non applicable | Non applicable | ||
Modules Go | gomod | v1 | |||
Gradle | gradle | Non applicable | |||
Maven | maven | Non applicable | |||
npm | npm | v6, v7, v8, v9 | |||
NuGet | nuget | <= 4.8 | |||
pip | pip | v21.1.2 | |||
pipenv | pip | <= 2021-05-29 | |||
pip-compile | pip | 6.1.0 | |||
poetry | pip | v1 | |||
bistrot | pub | v2 | |||
Terraform | terraform | >= 0.13, <= 1.5.x | Non applicable | ||
yarn | npm | v1 |
Conseil : pour les gestionnaires de package tels que pipenv
et poetry
, vous devez utiliser la valeur YAML pip
. Par exemple, si vous utilisez poetry
pour gérer vos dépendances Python et que vous souhaitez que Dependabot surveille votre fichier manifeste de dépendance pour les nouvelles versions, utilisez package-ecosystem: "pip"
dans votre fichier dependabot.yml
.
Cargo
La prise en charge des registres privés s’applique aux registres git et n’inclut pas les registres cargo.
GitHub Actions
Dependabot prend uniquement en charge les mises à jour pour GitHub Actions avec la syntaxe du dépôt GitHub, comme actions/checkout@v4. Les URL Docker Hub et GitHub Packages Container registry ne sont actuellement pas prises en charge.
Dependabot prend en charge les référentiels publics et privés pour GitHub Actions. Pour connaître les options de configuration du registre privé, consultez « git
» dans « Options de configuration pour le fichier dependabot.yml ».
Gradle
Gradle est pris en charge uniquement pour Dependabot version updates.
Dependabot n’exécute pas Gradle, mais prend en charge les mises à jour vers les fichiers suivants :
build.gradle
,build.gradle.kts
(pour les projets Kotlin)- Les fichiers inclus via la déclaration
apply
qui ontdependencies
dans le nom de fichier. Notez queapply
ne prend pas en chargeapply to
, la récursivité ou les syntaxes avancées (par exemple, les noms de fichierapply
avecmapOf
Kotlin définis par propriété).
Maven
Dependabot n’exécute pas Maven, mais prend en charge les mises à jour des fichiers pom.xml
.
Interface de ligne de commande NuGet
Dependabot n’exécute pas l’interface CLI NuGet, mais prend en charge la plupart des fonctionnalités jusqu’à la version 4.8.
pnpm
pnpm est pris en charge uniquement pour Dependabot version updates. Les Dependabot security updates ne sont pas prises en charge actuellement.
bistrot
Dependabot n’effectue pas de mise à jour pour pub
quand la version vers laquelle il tente d’opérer la mise à jour est ignorée, même si une version antérieure est disponible.
Si votre dépôt utilise déjà une intégration pour la gestion des dépendances, vous devez la désactiver avant d’activer Dependabot.
À propos des notifications pour les mises à jour de version Dependabot
Vous pouvez filtrer vos notifications sur GitHub pour afficher les notifications des demandes de tirage créées par Dependabot. Pour plus d’informations, consultez « Gestion des notifications à partir de votre boîte de réception ».