À propos du fichier dependabot.yml
Le fichier de configuration Dependabot, dependabot.yml, utilise la syntaxe YAML. Si vous débutez avec YAML et que vous souhaitez en savoir plus, consultez « Découvrir YAML en cinq minutes ».
Vous devez stocker ce fichier dans le répertoire .github
de votre dépôt. Quand vous ajoutez ou mettez à jour le fichier dependabot.yml, une recherche immédiate des mises à jour de version est déclenchée. Pour plus d’informations et obtenir un exemple, consultez « Configuration de mises à jour de version Dependabot ».
Toutes les options qui affectent également les mises à jour de sécurité sont utilisées la prochaine fois qu’une alerte de sécurité déclenche une demande de tirage (pull request) pour une mise à jour de sécurité. Pour plus d’informations, consultez « Configuration des mises à jour de sécurité Dependabot ».
Remarque : Vous ne pouvez pas configurer les Dependabot alerts en utilisant le fichier dependabot.yml.
Le fichier dependabot.yml a deux clés de niveau supérieur obligatoires : version
et updates
. Vous pouvez éventuellement inclure une clé registries
de premier niveau. Le fichier doit commencer par version: 2
.
Options de configuration pour le fichier dependabot.yml
La clé updates
de niveau supérieur 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. Vous pouvez utiliser les options suivantes.
Option | Obligatoire | Mises à jour de sécurité | Mises à jour de version | Description |
---|---|---|---|---|
package-ecosystem | X | X | Gestionnaire de package à utiliser | |
directory | X | X | Emplacement des manifestes de package | |
schedule.interval | X | X | Fréquence de la recherche des mises à jour | |
allow | X | X | Personnaliser les mises à jour à autoriser | |
assignees | X | X | Destinataires à définir sur les demandes de tirage | |
commit-message | X | X | Préférences des messages de commit | |
enable-beta-ecosystems | X | Activer les écosystèmes qui ont une prise en charge au niveau bêta | ||
ignore | X | X | Ignorer certaines dépendances ou versions | |
insecure-external-code-execution | X | Autoriser ou refuser l’exécution du code dans les fichiers manifeste | ||
labels | X | X | Étiquettes à définir sur les demandes de tirage | |
milestone | X | X | Jalon à définir sur les demandes de tirage | |
open-pull-requests-limit | X | X | Limiter le nombre de demandes de tirage ouvertes pour les mises à jour de version | |
pull-request-branch-name.separator | X | X | Changer le séparateur des noms de branche de demande de tirage | |
rebase-strategy | X | X | Désactiver le rebasage automatique | |
registries | X | X | Registres privés auxquels Dependabot peut accéder | |
reviewers | X | X | Réviseurs à définir sur les demandes de tirage | |
schedule.day | X | Jour de la semaine auquel rechercher les mises à jour | ||
schedule.time | X | Heure de la journée à laquelle rechercher les mises à jour (hh:mm) | ||
schedule.timezone | X | Fuseau horaire pour l’heure de la journée (identificateur de fuseau) | ||
target-branch | X | Branche par rapport à laquelle créer les demandes de tirage | ||
vendor | X | Mettre à jour les dépendances placées dans le répertoire vendor ou mises en cache | ||
versioning-strategy | X | X | Mode de mise à jour des exigences de la version du manifeste |
La plupart de ces options entrent dans l’une des catégories suivantes.
- Options de configuration essentielles que vous devez inclure dans toutes les configurations :
package-ecosystem
,directory
,schedule.interval
. - Options permettant de personnaliser la planification des mises à jour :
schedule.time
,schedule.timezone
,schedule.day
. - Options permettant de contrôler quelles dépendances sont mises à jour :
allow
,ignore
,vendor
. - Options permettant d’ajouter des métadonnées aux demandes de tirage :
reviewers
,assignees
,labels
,milestone
. - Options permettant de changer le comportement des demandes de tirage :
target-branch
,versioning-strategy
,commit-message
,rebase-strategy
,pull-request-branch-name.separator
.
En outre, l’option open-pull-requests-limit
change le nombre maximal de demandes de tirage pour les mises à jour de version que Dependabot peut ouvrir.
Remarque : Certaines de ces options de configuration peuvent également affecter les demandes de tirage déclenchées pour les mises à jour de sécurité des manifestes de package vulnérables.
Les mises à jour de sécurité ne sont déclenchées pour les manifestes de package vulnérables que sur la branche par défaut. Quand des options de configuration sont définies pour la même branche (ce qui est le cas sauf si vous utilisez target-branch
) et spécifient un package-ecosystem
et un directory
pour le manifeste vulnérable, les demandes de tirage pour les mises à jour de sécurité utilisent des options appropriées.
En général, les mises à jour de sécurité utilisent toutes les options de configuration qui affectent les demandes de tirage, par exemple, l’ajout de métadonnées ou la modification de leur comportement. Pour plus d’informations sur les mises à jour de sécurité, consultez « Configuration des mises à jour de sécurité Dependabot ».
package-ecosystem
Requis. Vous ajoutez un élément package-ecosystem
pour chaque gestionnaire de package pour lequel vous souhaitez que Dependabot surveille l’existence de nouvelles versions. Le dépôt doit également contenir un fichier de verrouillage ou manifeste de dépendance pour chacun de ces gestionnaires de packages. Si vous souhaitez activer le placement dans le répertoire vendor pour un gestionnaire de package qui le prend en charge, les dépendances placées dans le répertoire vendor doivent se trouver dans le répertoire requis. Pour plus d’informations, consultez vendor
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 | |||
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.3.x | Non applicable | ||
yarn | npm | v1, v2, v3 |
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.
Docker
Dependabot peut ajouter des métadonnées à partir d’images Docker aux demandes de tirage pour les mises à jour de version. Les métadonnées incluent les notes de publication, les journaux de modifications et l’historique des validations. Les administrateurs de référentiels peuvent utiliser les métadonnées pour évaluer rapidement le risque de stabilité de la mise à jour des dépendances.
Pour que Dependabot récupère les métadonnées Docker, les responsables de la maintenance des images Docker doivent ajouter l’étiquette org.opencontainers.image.source
à leur fichier Dockerfile et inclure l’URL du référentiel source. Par ailleurs, les responsables doivent étiqueter le référentiel avec les mêmes étiquettes que les images Docker publiées. Pour obtenir un exemple, consultez le référentiel dependabot-fixtures/docker-with-source
. Pour plus d’informations sur les étiquettes Docker, consultez Étiquettes d’image d’extension et BUILDX_GIT_LABELS dans la documentation Docker.
Dependabot peut mettre à jour les étiquettes d’images Docker dans les manifestes Kubernetes. Ajoutez une entrée à l’élément Docker package-ecosystem
de votre fichier dependabot.yml pour chaque répertoire contenant un manifeste Kubernetes qui fait référence à des étiquettes d’images Docker. Les manifestes Kubernetes peuvent être des fichiers YAML de déploiement Kubernetes ou des graphiques Helm. Pour plus d’informations sur la configuration de votre fichier dependabot.yml pour docker
, consultez « package-ecosystem
» dans « Options de configuration pour le fichier dependabot.yml ».
Dependabot prend en charge les registres Docker publics et privés. Pour obtenir la liste des registres pris en charge, consultez « docker-registry
» dans « Options de configuration pour le fichier dependabot.yml ».
GitHub Actions
Dependabot prend uniquement en charge les mises à jour pour GitHub Actions avec la syntaxe du dépôt GitHub, comme actions/checkout@v3. Les URL Docker Hub et GitHub Packages Container registry ne sont actuellement pas prises en charge.
Gradle
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)gradle/libs.versions.toml
(pour les projets utilisant un catalogue de versions Gradle standard)- 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.
pip et pip-compile
En plus de prendre en charge les mises à jour des fichiers requirements.txt
, Dependabot prend en charge les mises à jour des fichiers pyproject.toml
s’ils respectent le standard PEP 621.
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.
yarn
Dependabot prend en charge les dépendances fournisseur pour les versions v2 et ultérieures.
Exemple d’installation de base pour trois gestionnaires de package
# Basic set up for three package managers
version: 2
updates:
# Maintain dependencies for GitHub Actions
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
# Maintain dependencies for npm
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "weekly"
# Maintain dependencies for Composer
- package-ecosystem: "composer"
directory: "/"
schedule:
interval: "weekly"
directory
Requis. Vous devez définir l’emplacement des manifestes de package pour chaque gestionnaire de package (par exemple, package.json ou Gemfile). Vous définissez le répertoire par rapport à la racine du dépôt pour tous les écosystèmes, sauf GitHub Actions. Pour GitHub Actions, définissez le répertoire sur /
pour rechercher les fichiers de workflow dans .github/workflows
.
# Specify location of manifest files for each package manager
version: 2
updates:
- package-ecosystem: "composer"
# Files stored in repository root
directory: "/"
schedule:
interval: "weekly"
- package-ecosystem: "npm"
# Files stored in `app` directory
directory: "/app"
schedule:
interval: "weekly"
- package-ecosystem: "github-actions"
# Workflow files stored in the
# default location of `.github/workflows`
directory: "/"
schedule:
interval: "weekly"
schedule.interval
Requis. Vous devez définir la fréquence à laquelle rechercher de nouvelles versions pour chaque gestionnaire de package. Par défaut, Dependabot attribue de façon aléatoire une heure pour appliquer toutes les mises à jour dans le fichier de configuration. Pour définir une heure spécifique, vous pouvez utiliser schedule.time
et schedule.timezone
.
Types d’intervalle | Fréquence |
---|---|
daily | L’exécution a lieu tous les jours de la semaine, du lundi au vendredi. |
weekly | L’exécution a lieu une fois par semaine. Par défaut, il s’agit du lundi. Pour modifier cela, utilisez schedule.day . |
monthly | L’exécution a lieu une fois par mois. Elle se produit le premier jour du mois. |
# Set update schedule for each package manager
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
# Check for updates to GitHub Actions every weekday
interval: "daily"
- package-ecosystem: "composer"
directory: "/"
schedule:
# Check for updates managed by Composer once a week
interval: "weekly"
Remarque : schedule
définit quand Dependabot tente une nouvelle mise à jour. Toutefois, ce n’est pas la seule fois que vous pouvez recevoir des demandes de tirage. Les mises à jour peuvent être déclenchées en fonction des modifications apportées à votre fichier dependabot.yml
, des modifications apportées à vos fichiers manifestes après l’échec d’une mise à jour ou des Dependabot security updates. Pour plus d’informations, consultez « À propos des mises à jour de version Dependabot » et « À propos des mises à jour de sécurité Dependabot ».
allow
Par défaut, toutes les dépendances explicitement définies dans un manifeste sont tenues à jour par les mises à jour de version de Dependabot. De plus, les mises à jour de sécurité de Dependabot mettent également à jour les dépendances vulnérables qui sont définies dans les fichiers de verrouillage. Vous pouvez utiliser allow
et ignore
pour personnaliser les dépendances à conserver. Dependabot recherche toutes les dépendances autorisées, puis filtre toutes les dépendances ou versions ignorées. Dès lors, une dépendance mise en correspondance par allow
et ignore
est ignorée.
Utilisez l’option allow
pour personnaliser les dépendances à mettre à jour. Cela s’applique aux mises à jour de version et de sécurité. Vous pouvez utiliser les options suivantes :
-
dependency-name
: permet d’autoriser les mises à jour des dépendances dont le nom correspond à une chaîne donnée. Vous pouvez utiliser*
pour indiquer zéro ou plusieurs caractères.- Pour les dépendances Java, le format de l’attribut
dependency-name
est :groupId:artifactId
; par exemple :org.kohsuke:github-api
. - Pour les étiquettes d’image Docker, le format est le nom complet du dépôt ; par exemple, pour une étiquette d’image de
<account ID>.dkr.ecr.us-west-2.amazonaws.com/base/foo/bar/ruby:3.1.0-focal-jemalloc
, utilisezbase/foo/bar/ruby
.
- Pour les dépendances Java, le format de l’attribut
-
dependency-type
: permet d’autoriser les mises à jour pour les dépendances de types spécifiques.Types de dépendances Pris en charge par les gestionnaires de packages Autoriser les mises à jour direct
Tous Toutes les dépendances définies explicitement. indirect
bundler
,pip
,composer
,cargo
,gomod
Dépendances de dépendances directes (également appelées sous-dépendances ou dépendances temporaires). all
Tous Toutes les dépendances définies explicitement. Pour bundler
,pip
,composer
,cargo
,gomod
, également les dépendances des dépendances directes.production
bundler
,composer
,mix
,maven
,npm
,pip
Uniquement les dépendances du groupe de dépendances de production. development
bundler
,composer
,mix
,maven
,npm
,pip
Uniquement les dépendances du groupe de dépendances de développement.
# Use `allow` to specify which dependencies to maintain
version: 2
updates:
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "weekly"
allow:
# Allow updates for Lodash
- dependency-name: "lodash"
# Allow updates for React and any packages starting "react"
- dependency-name: "react*"
- package-ecosystem: "composer"
directory: "/"
schedule:
interval: "weekly"
allow:
# Allow both direct and indirect updates for all packages
- dependency-type: "all"
- package-ecosystem: "pip"
directory: "/"
schedule:
interval: "weekly"
allow:
# Allow only direct updates for
# Django and any packages starting "django"
- dependency-name: "django*"
dependency-type: "direct"
# Allow only production updates for Sphinx
- dependency-name: "sphinx"
dependency-type: "production"
assignees
Utilisez assignees
pour spécifier des destinataires individuels pour toutes les demandes de tirage déclenchées pour un gestionnaire de package.
La définition de cette option affecte aussi les demandes de tirage pour des mises à jour de sécurité des fichiers manifeste de ce gestionnaire de packages, sauf si vous utilisez target-branch
pour rechercher les mises à jour de version sur une branche autre que celle par défaut.
# Specify assignees for pull requests
version: 2
updates:
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "weekly"
# Add assignees
assignees:
- "octocat"
commit-message
Par défaut, Dependabot tente de détecter vos préférences de message de commit et d’utiliser des modèles similaires. Utilisez l’option commit-message
pour spécifier explicitement vos préférences.
Options prises en charge
Remarque : Les options prefix
et prefix-development
sont limitées à 50 caractères.
-
prefix
spécifie un préfixe pour tous les messages de commit. Lorsque vous spécifiez un préfixe pour les messages de commit, GitHub ajoute automatiquement un signe deux-points entre le préfixe défini et le message de commit, à condition que le préfixe défini se termine par une lettre, un nombre, une parenthèse fermante ou un crochet fermant. Cela signifie que, par exemple, si vous terminez le préfixe par un espace, aucun signe deux-points n’est ajouté entre le préfixe et le message de commit. L’extrait de code ci-dessous fournit des exemples des deux dans le même fichier de configuration. -
prefix-development
spécifie un préfixe distinct pour tous les messages de commit qui mettent à jour les dépendances du groupe de dépendances de développement. Quand vous spécifiez une valeur pour cette option, leprefix
est utilisé uniquement pour les mises à jour des dépendances du groupe de dépendances production. Cela est pris en charge par :bundler
,composer
,mix
,maven
,npm
etpip
. -
include: "scope"
spécifie que tout préfixe est suivi d’une liste des dépendances mises à jour dans le commit.
La définition de cette option affecte aussi les demandes de tirage pour des mises à jour de sécurité des fichiers manifeste de ce gestionnaire de packages, sauf si vous utilisez target-branch
pour rechercher les mises à jour de version sur une branche autre que celle par défaut.
# Customize commit messages
version: 2
updates:
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "weekly"
commit-message:
# Prefix all commit messages with "npm: "
prefix: "npm"
- package-ecosystem: "docker"
directory: "/"
schedule:
interval: "weekly"
commit-message:
# Prefix all commit messages with "[docker] " (no colon, but a trailing whitespace)
prefix: "[docker] "
- package-ecosystem: "composer"
directory: "/"
schedule:
interval: "weekly"
# Prefix all commit messages with "Composer" plus its scope, that is, a
# list of updated dependencies
commit-message:
prefix: "Composer"
include: "scope"
- package-ecosystem: "pip"
directory: "/"
schedule:
interval: "weekly"
# Include a list of updated dependencies
# with a prefix determined by the dependency group
commit-message:
prefix: "pip prod"
prefix-development: "pip dev"
include: "scope"
Si vous utilisez la même configuration que dans l’exemple ci-dessus, le déplacement de la bibliothèque requests
dans le groupe de dépendances de développement pip
génère un message de validation :
pip dev: bump requests from 1.0.0 to 1.0.1
ignore
Par défaut, toutes les dépendances explicitement définies dans un manifeste sont tenues à jour par les mises à jour de version de Dependabot. De plus, les mises à jour de sécurité de Dependabot mettent également à jour les dépendances vulnérables qui sont définies dans les fichiers de verrouillage. Vous pouvez utiliser allow
et ignore
pour personnaliser les dépendances à conserver. Dependabot recherche toutes les dépendances autorisées, puis filtre toutes les dépendances ou versions ignorées. Dès lors, une dépendance mise en correspondance par allow
et ignore
est ignorée.
Vous pouvez ignorer les dépendances en les ajoutant à ignore
ou en utilisant la commande @dependabot ignore
sur une demande de tirage ouverte par Dependabot.
Création de conditions ignore
à partir de @dependabot ignore
Les dépendances ignorées avec la commande @dependabot ignore
sont stockées de manière centralisée pour chaque gestionnaire de package. Si vous commencez à ignorer les dépendances dans le fichier dependabot.yml
, ces préférences existantes sont prises en compte en même temps que les dépendances ignore
dans la configuration.
Vous pouvez vérifier si un dépôt a des préférences ignore
stockées en y recherchant "@dependabot ignore" in:comments
. Si vous souhaitez ne plus ignorer une dépendance ignorée de cette façon, rouvrez la demande de tirage.
Pour plus d’informations sur les commandes @dependabot ignore
, consultez « Gestion des demandes de tirage (pull request) pour les mises à jour des dépendances ».
Spécification des dépendances et des versions à ignorer
Vous pouvez utiliser l’option ignore
pour personnaliser les dépendances à mettre à jour. L’option ignore
prend en charge les options suivantes :
dependency-name
: permet d’ignorer les mises à jour des dépendances dont le nom correspond à une chaîne donnée. Vous pouvez utiliser*
pour indiquer zéro ou plusieurs caractères. Pour les dépendances Java, le format de l’attributdependency-name
est :groupId:artifactId
(par exemple :org.kohsuke:github-api
). Pour empêcher Dependabot de mettre à jour automatiquement les définitions du type TypeScript à partir de DefinitelyTyped, utilisez@types/*
.versions
: permet d’ignorer des versions ou des plages de versions spécifiques. Si vous souhaitez définir une plage, utilisez le modèle standard du gestionnaire de package. Par exemple, pour npm, utilisez^1.0.0
; pour Bundler, utilisez~> 2.0
; pour Docker, utilisez la syntaxe de version Ruby ; pour NuGet, utilisez7.*
.update-types
: permet d’ignorer les types de mises à jour, telles que les mises à jourmajor
,minor
oupatch
SemVer sur les mises à jour de version (par exemple :version-update:semver-patch
ignore les mises à jour correctives). Vous pouvez combiner cela avecdependency-name: "*"
pour ignorer desupdate-types
particuliers pour toutes les dépendances.version-update:semver-major
,version-update:semver-minor
etversion-update:semver-patch
sont les seules options prises en charge. Les mises à jour de sécurité ne sont pas affectées par ce paramètre.
Si les options versions
et update-types
sont utilisées ensemble, Dependabot ignore toute mise à jour dans l’un ou l’autre ensemble.
La définition de cette option affecte aussi les demandes de tirage pour des mises à jour de sécurité des fichiers manifeste de ce gestionnaire de packages, sauf si vous utilisez target-branch
pour rechercher les mises à jour de version sur une branche autre que celle par défaut.
# Use `ignore` to specify dependencies that should not be updated
version: 2
updates:
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "weekly"
ignore:
- dependency-name: "express"
# For Express, ignore all updates for version 4 and 5
versions: ["4.x", "5.x"]
# For Lodash, ignore all updates
- dependency-name: "lodash"
# For AWS SDK, ignore all patch updates
- dependency-name: "aws-sdk"
update-types: ["version-update:semver-patch"]
Remarque : Dependabot ne peut exécuter des mises à jour de version sur les fichiers manifeste ou de verrouillage que s’il peut accéder à toutes les dépendances dans le fichier, même si vous ajoutez des dépendances inaccessibles à l’option ignore
de votre fichier de configuration. Pour plus d’informations, consultez « Gestion des paramètres de sécurité et d’analyse pour votre organisation » et « Résolution des erreurs Dependabot ».
Remarque : Pour l’écosystème pub
, Dependabot n’effectue pas de mise à jour 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.
insecure-external-code-execution
Les gestionnaires de package avec les valeurs package-ecosystem
bundler
, mix
et pip
peuvent exécuter du code externe dans le manifeste dans le cadre du processus de mise à jour de version. Cela peut permettre à un package compromis de voler des informations d’identification ou d’accéder aux registres configurés. Quand vous ajoutez un paramètre registries
dans une configuration updates
, Dependabot empêche automatiquement l’exécution de code externe, ce qui peut entraîner l’échec de la mise à jour de version. Vous pouvez choisir de remplacer ce comportement et d’autoriser l’exécution de code externe pour les gestionnaires de packages bundler
, mix
et pip
en définissant insecure-external-code-execution
sur allow
.
# Allow external code execution when updating dependencies from private registries
version: 2
registries:
ruby-github:
type: rubygems-server
url: https://rubygems.pkg.github.com/octocat/github_api
token: ${{secrets.MY_GITHUB_PERSONAL_TOKEN}}
updates:
- package-ecosystem: "bundler"
directory: "/rubygems-server"
insecure-external-code-execution: allow
registries: "*"
schedule:
interval: "monthly"
Si vous définissez un paramètre registries
pour autoriser Dependabot à accéder à un registre de packages privé et que vous définissez insecure-external-code-execution
avec la valeur allow
dans la même configuration updates
, l’exécution de code externe qui se produit n’a accès qu’aux gestionnaires de package dans les registres associés à ce paramètre updates
. Aucun accès aux registres définis dans la configuration registries
de niveau supérieur n’est autorisé.
Dans cet exemple, le fichier de configuration permet à Dependabot d’accéder au registre de packages privé ruby-github
. Dans le même paramètre updates
, insecure-external-code-execution
est défini avec la valeur allow
, ce qui signifie que le code exécuté par les dépendances accède uniquement au registre ruby-github
, et non au registre dockerhub
.
# Using `registries` in conjunction with `insecure-external-code-execution:allow`
# in the same `updates` setting
version: 2
registries:
ruby-github:
type: rubygems-server
url: https://rubygems.pkg.github.com/octocat/github_api
token: ${{secrets.MY_GITHUB_PERSONAL_TOKEN}}
dockerhub:
type: docker-registry
url: registry.hub.docker.com
username: octocat
password: ${{secrets.DOCKERHUB_PASSWORD}}
updates:
- package-ecosystem: "bundler"
directory: "/rubygems-server"
insecure-external-code-execution: allow
registries:
- ruby-github # only access to registries associated with this ecosystem/directory
schedule:
interval: "monthly"
Vous pouvez refuser explicitement l’exécution de code externe, qu’il existe ou non un paramètre registries
pour cette configuration de mise à jour, en définissant insecure-external-code-execution
avec la valeur deny
.
labels
Par défaut, Dependabot déclenche toutes les demandes de tirage avec l’étiquette dependencies
. Si plusieurs gestionnaires de package sont définis, Dependabot inclut une étiquette supplémentaire sur chaque demande de tirage. Cela indique le langage ou l’écosystème que la demande de tirage va mettre à jour, par exemple : java
pour les mises à jour de Gradle, et submodules
pour les mises à jour de sous-module Git. Dependabot crée automatiquement ces étiquettes par défaut si nécessaire dans votre dépôt.
Utilisez labels
afin de remplacer les étiquettes par défaut et de spécifier d’autres étiquettes pour toutes les demandes de tirage déclenchées pour un gestionnaire de package. Si l’une de ces étiquettes n’est pas définie dans le dépôt, elle est ignorée.
Pour désactiver toutes les étiquettes, y compris les étiquettes par défaut, utilisez labels: [ ]
.
La définition de cette option affecte aussi les demandes de tirage pour des mises à jour de sécurité des fichiers manifeste de ce gestionnaire de packages, sauf si vous utilisez target-branch
pour rechercher les mises à jour de version sur une branche autre que celle par défaut.
# Specify labels for pull requests
version: 2
updates:
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "weekly"
# Specify labels for npm pull requests
labels:
- "npm"
- "dependencies"
milestone
Utilisez milestone
pour associer toutes les demandes de tirage déclenchées pour un gestionnaire de package à un jalon. Vous devez spécifier l’identificateur numérique du jalon et non son étiquette. Si vous affichez un jalon, la dernière partie de l’URL de la page, après milestone
, est l’identificateur. Par exemple : https://github.com/<org>/<repo>/milestone/3
.
La définition de cette option affecte aussi les demandes de tirage pour des mises à jour de sécurité des fichiers manifeste de ce gestionnaire de packages, sauf si vous utilisez target-branch
pour rechercher les mises à jour de version sur une branche autre que celle par défaut.
# Specify a milestone for pull requests
version: 2
updates:
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "weekly"
# Associate pull requests with milestone "4"
milestone: 4
open-pull-requests-limit
Par défaut, Dependabot ouvre un maximum de cinq demandes de tirage pour les mises à jour de version. Une fois qu’il y a cinq demandes de tirage (pull requests) ouvertes provenant de Dependabot, Dependabot n’ouvre aucune nouvelle demande tant que certaines de ces demandes ouvertes ne sont pas fusionnées ou fermées. Utilisez open-pull-requests-limit
pour changer cette limite. Cela permet également de désactiver temporairement les mises à jour de version pour un gestionnaire de package.
Cette option n’a aucun impact sur les mises à jour de sécurité, qui ont une limite interne distincte de dix demandes de tirage ouvertes.
# Specify the number of open pull requests allowed
version: 2
updates:
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "weekly"
# Disable version updates for npm dependencies
open-pull-requests-limit: 0
- package-ecosystem: "pip"
directory: "/"
schedule:
interval: "weekly"
# Allow up to 10 open pull requests for pip dependencies
open-pull-requests-limit: 10
pull-request-branch-name.separator
Dependabot génère une branche pour chaque demande de tirage. Chaque nom de branche inclut dependabot
ainsi que le gestionnaire de package et la dépendance qui sont mis à jour. Par défaut, ces parties sont séparées par un symbole /
, par exemple : dependabot/npm_and_yarn/next_js/acorn-6.4.1
.
Utilisez pull-request-branch-name.separator
pour spécifier un séparateur différent. Ce peut être "-"
, _
ou /
. Le symbole de trait d’union doit être placé entre guillemets, afin qu’il ne soit pas interprété comme démarrant une liste YAML vide.
La définition de cette option affecte aussi les demandes de tirage pour des mises à jour de sécurité des fichiers manifeste de ce gestionnaire de packages, sauf si vous utilisez target-branch
pour rechercher les mises à jour de version sur une branche autre que celle par défaut.
# Specify a different separator for branch names
version: 2
updates:
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "weekly"
pull-request-branch-name:
# Separate sections of the branch name with a hyphen
# for example, `dependabot-npm_and_yarn-next_js-acorn-6.4.1`
separator: "-"
rebase-strategy
Par défaut, Dependabot rebase automatiquement les demandes de tirage ouvertes quand il détecte des modifications apportées à la demande de tirage. Utilisez rebase-strategy
pour désactiver ce comportement.
Remarque : Si aucune demande de tirage n’a été fusionnée depuis 30 jours, Dependabot cesse de rebaser la demande de tirage. Vous pouvez toujours rebaser et fusionner manuellement la demande de tirage.
Stratégies de rebasage disponibles
auto
pour utiliser le comportement par défaut et rebaser les demandes de tirage ouvertes quand des modifications sont détectées.disabled
pour désactiver le rebasage automatique.
Lorsque rebase-strategy
est défini sur auto
, Dependabot tente de rebaser les demandes de tirage dans les cas suivants.
- Lorsque vous utilisez les Dependabot version updates, pour toute demande de tirage Dependabot ouverte lors de l’exécution de votre planification.
- Lorsque vous rouvrez une demande de tirage Dependabot fermée.
- Lorsque vous changez la valeur de
target-branch
dans le fichier de configuration Dependabot. Pour plus d’informations sur ce champ, consultez «target-branch
». - Lorsque Dependabot détecte qu’une demande de tirage Dependabot est en conflit après une poussée récente vers la branche cible.
Lorsque rebase-strategy
est défini sur disabled
, Dependabot arrête de rebaser les demandes de tirage.
Remarque : Ce comportement s’applique uniquement aux demandes de tirage qui entrent en conflit avec la branche cible. Dependabot continue de procéder au rebasage des demandes de tirage ouvertes (until 30 days after opening) avant la modification du paramètre rebase-strategy
, ainsi que des demandes de tirage qui font partie d’une exécution planifiée.
La définition de cette option affecte aussi les demandes de tirage pour des mises à jour de sécurité des fichiers manifeste de ce gestionnaire de packages, sauf si vous utilisez target-branch
pour rechercher les mises à jour de version sur une branche autre que celle par défaut.
# Disable automatic rebasing
version: 2
updates:
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "weekly"
# Disable rebasing for npm pull requests
rebase-strategy: "disabled"
registries
Pour permettre à Dependabotd’accéder à un registre de packages privé lors de l’exécution d’une mise à jour de version, vous devez inclure un paramètre registries
dans la configuration updates
appropriée. Vous pouvez autoriser l’utilisation de tous les registres définis en définissant registries
sur "*"
. Vous pouvez également lister les registres que la mise à jour peut utiliser. Pour ce faire, utilisez le nom du registre tel que défini dans la section registries
de niveau supérieur du fichier dependabot.yml. Pour plus d’informations, consultez « Options de configuration pour les registres privés » plus bas.
Pour permettre à Dependabot d’utiliser les gestionnaires de packages bundler
, mix
et pip
afin de mettre à jour les dépendances dans les registres privés, vous pouvez choisir d’autoriser l’exécution de code externe. Pour plus d’informations, consultez insecure-external-code-execution
plus haut.
# Allow Dependabot to use one of the two defined private registries
# when updating dependency versions for this ecosystem
version: 2
registries:
maven-github:
type: maven-repository
url: https://maven.pkg.github.com/octocat
username: octocat
password: ${{secrets.MY_ARTIFACTORY_PASSWORD}}
npm-npmjs:
type: npm-registry
url: https://registry.npmjs.org
username: octocat
password: ${{secrets.MY_NPM_PASSWORD}}
updates:
- package-ecosystem: "gitsubmodule"
directory: "/"
registries:
- maven-github
schedule:
interval: "monthly"
reviewers
Utilisez reviewers
pour spécifier des réviseurs individuels ou des équipes de réviseurs pour toutes les demandes de tirage déclenchées pour un gestionnaire de package. Vous devez utiliser le nom complet de l’équipe, y compris l’organisation, comme si vous mentionniez (@mentioning) l’équipe.
La définition de cette option affecte aussi les demandes de tirage pour des mises à jour de sécurité des fichiers manifeste de ce gestionnaire de packages, sauf si vous utilisez target-branch
pour rechercher les mises à jour de version sur une branche autre que celle par défaut.
# Specify reviewers for pull requests
version: 2
updates:
- package-ecosystem: "pip"
directory: "/"
schedule:
interval: "weekly"
# Add reviewers
reviewers:
- "octocat"
- "my-username"
- "my-org/python-team"
schedule.day
Quand vous définissez une planification de mise à jour weekly
, par défaut, Dependabot recherche les nouvelles versions le lundi à une heure définie aléatoire pour le dépôt. Utilisez schedule.day
afin de spécifier un autre jour pour rechercher les mises à jour.
Valeurs prises en charge
monday
tuesday
wednesday
thursday
friday
saturday
sunday
# Specify the day for weekly checks
version: 2
updates:
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "weekly"
# Check for npm updates on Sundays
day: "sunday"
schedule.time
Par défaut, Dependabot recherche les nouvelles versions à une heure définie aléatoire pour le dépôt. Utilisez schedule.time
afin de spécifier une autre heure de la journée pour rechercher les mises à jour (format : hh:mm
).
# Set a time for checks
version: 2
updates:
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "weekly"
# Check for npm updates at 9am UTC
time: "09:00"
schedule.timezone
Par défaut, Dependabot recherche les nouvelles versions à une heure définie aléatoire pour le dépôt. Utilisez schedule.timezone
pour spécifier un autre fuseau horaire. L’identificateur de fuseau horaire doit provenir de la base de données de fuseaux horaires gérée par iana. Pour plus d’informations, consultez Liste des fuseaux horaires de la base de données tz.
# Specify the timezone for checks
version: 2
updates:
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "weekly"
time: "09:00"
# Use Japan Standard Time (UTC +09:00)
timezone: "Asia/Tokyo"
target-branch
Par défaut, Dependabot recherche les fichiers manifestes sur la branche par défaut et déclenche des demandes de tirage pour les mises à jour de version sur cette branche. Utilisez target-branch
pour spécifier une branche différente pour les fichiers manifestes et pour les demandes de tirage. Quand vous utilisez cette option, les paramètres de ce gestionnaire de package n’affectent plus les demandes de tirage déclenchées pour les mises à jour de sécurité.
# Specify a non-default branch for pull requests for pip
version: 2
updates:
- package-ecosystem: "pip"
directory: "/"
schedule:
interval: "weekly"
# Raise pull requests for version updates
# to pip against the `develop` branch
target-branch: "develop"
# Labels on pull requests for version updates only
labels:
- "pip dependencies"
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "weekly"
# Check for npm updates on Sundays
day: "sunday"
# Labels on pull requests for security and version updates
labels:
- "npm dependencies"
vendor
Utilisez l’option vendor
pour indiquer à Dependabot de placer les dépendances dans le répertoire vendor lors de leur mise à jour. N’utilisez pas cette option si vous utilisez gomod
, car Dependabot détecte automatiquement le placement dans le répertoire vendor pour cet outil.
# Configure version updates for both dependencies defined in manifests and vendored dependencies
version: 2
updates:
- package-ecosystem: "bundler"
# Raise pull requests to update vendored dependencies that are checked in to the repository
vendor: true
directory: "/"
schedule:
interval: "weekly"
Dependabot met uniquement à jour les dépendances placées dans le répertoire vendor situées dans des répertoires spécifiques au sein d’un dépôt.
Gestionnaire de package | Chemin de fichier requis pour les dépendances placées dans le répertoire vendor | Plus d’informations |
---|---|---|
bundler | Les dépendances doivent se trouver dans le répertoire vendor/cache. Les autres chemins de fichier ne sont pas pris en charge. | Documentation bundle cache |
gomod | Aucune exigence de chemin (les dépendances se trouvent généralement dans le répertoire vendor) | Documentation go mod vendor |
versioning-strategy
Quand Dependabot modifie un fichier manifeste pour mettre à jour une version, il utilise les stratégies globales suivantes :
- Pour les applications, les exigences de version sont accrues, par exemple : npm, pip et Composer.
- Pour les bibliothèques, la plage de versions est étendue, par exemple : Bundler et Cargo.
Utilisez l’option versioning-strategy
afin de changer ce comportement pour les gestionnaires de packages pris en charge.
La définition de cette option affecte aussi les demandes de tirage pour des mises à jour de sécurité des fichiers manifeste de ce gestionnaire de packages, sauf si vous utilisez target-branch
pour rechercher les mises à jour de version sur une branche autre que celle par défaut.
Stratégies de mise à jour disponibles
Option | Pris en charge par | Action |
---|---|---|
lockfile-only | bundler , cargo , composer , mix , npm , pip | Créer uniquement des demandes de tirage pour mettre à jour les fichiers de verrouillage. Ignorer toutes les nouvelles versions qui nécessitent des modifications du manifeste de package. |
auto | bundler , cargo , composer , mix , npm , pip | Suivre la stratégie par défaut décrite ci-dessus. |
widen | composer , npm | Assouplir l’exigence de version pour inclure à la fois la nouvelle et l’ancienne version, si possible. |
increase | bundler , composer , npm , pip | Accroître toujours l’exigence de version pour qu’elle corresponde à la nouvelle version. |
increase-if-necessary | bundler , composer , npm , pip | Accroître l’exigence de version uniquement quand la nouvelle version l’exige. |
# Customize the manifest version strategy
version: 2
updates:
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "weekly"
# Update the npm manifest file to relax
# the version requirements
versioning-strategy: widen
- package-ecosystem: "composer"
directory: "/"
schedule:
interval: "weekly"
# Increase the version requirements for Composer
# only when required
versioning-strategy: increase-if-necessary
- package-ecosystem: "pip"
directory: "/"
schedule:
interval: "weekly"
# Only allow updates to the lockfile for pip and
# ignore any version updates that affect the manifest
versioning-strategy: lockfile-only
Options de configuration pour les registres privés
La clé registries
de niveau supérieur est facultative. Elle vous permet de spécifier les détails d’authentification que Dependabot peut utiliser pour accéder aux registres de packages privés.
Remarque : Les registres privés derrière les pare-feu sur les réseaux privés ne sont pas pris en charge.
La valeur de la clé registries
est un tableau associatif, dont chaque élément se compose d’une clé qui identifie un registre particulier et d’une valeur qui est un tableau associatif spécifiant les paramètres requis pour accéder à ce registre. Dans le fichier dependabot.yml suivant, un registre identifié comme dockerhub
est configuré dans la section registries
, puis référencé dans la section updates
.
# Minimal settings to update dependencies in one private registry
version: 2
registries:
dockerhub: # Define access for a private registry
type: docker-registry
url: registry.hub.docker.com
username: octocat
password: ${{secrets.DOCKERHUB_PASSWORD}}
updates:
- package-ecosystem: "docker"
directory: "/docker-registry/dockerhub"
registries:
- dockerhub # Allow version updates for dependencies in this registry
schedule:
interval: "monthly"
Vous utilisez les options suivantes pour spécifier les paramètres d’accès. Les paramètres de registre doivent contenir un type
et une url
et généralement soit une combinaison d’un username
et d’un password
, soit un token
.
Option | Description |
---|---|
type | Identifie le type de registre. Consultez la liste complète des types ci-après. |
url | URL à utiliser pour accéder aux dépendances dans ce registre. Le protocole est facultatif. S’il n’est pas renseigné, la valeur https:// est supposée. Dependabot ajoute ou ignore les barres obliques de fin selon les besoins. |
username | Nom d’utilisateur utilisé par Dependabot pour accéder au registre. |
password | Référence à un secret Dependabot contenant le mot de passe de l’utilisateur spécifié. Pour plus d’informations, consultez « Configuration de l’accès aux registres privés pour Dependabot ». |
key | Référence à un secret Dependabot contenant une clé d’accès pour le registre. Pour plus d’informations, consultez « Configuration de l’accès aux registres privés pour Dependabot ». |
token | Référence à un secret Dependabot contenant un jeton d’accès pour le registre. Pour plus d’informations, consultez « Configuration de l’accès aux registres privés pour Dependabot ». |
replaces-base | Pour les registres, si la valeur booléenne est true , Dependabot résout les dépendances en utilisant l’URL spécifiée plutôt que l’URL de base de cet écosystème spécifique. Par exemple, pour les registres avec type: python-index , si la valeur booléenne est true , pip résout les dépendances en utilisant l’URL spécifiée plutôt que de l’URL de base de l’index de package Python (par défaut https://pypi.org/simple ). |
Vous devez fournir les paramètres obligatoires pour chaque configuration type
que vous spécifiez. Certains types permettent plusieurs façons de se connecter. Les sections suivantes fournissent des détails sur les paramètres que vous devez utiliser pour chaque type
.
composer-repository
Le type composer-repository
prend en charge le nom d’utilisateur et le mot de passe.
registries:
composer:
type: composer-repository
url: https://repo.packagist.com/example-company/
username: octocat
password: ${{secrets.MY_PACKAGIST_PASSWORD}}
docker-registry
Dependabot fonctionne avec tous les registres de conteneurs qui implémentent les spécifications du registre de conteneurs OCI. Pour plus d’informations, consultez https://github.com/opencontainers/distribution-spec/blob/main/spec.md. Dependabot prend en charge l’authentification auprès des registres privés via un service de jeton central ou l’authentification de base HTTP. Pour plus d’informations, consultez Spécification de l’authentification par jeton dans la documentation Docker et Authentification d’accès de base sur Wikipédia.
Le type docker-registry
prend en charge le nom d’utilisateur et le mot de passe.
registries:
dockerhub:
type: docker-registry
url: https://registry.hub.docker.com
username: octocat
password: ${{secrets.MY_DOCKERHUB_PASSWORD}}
replaces-base: true
Le type docker-registry
peut également être utilisé pour effectuer un tirage à partir d’un registre ECR Amazon privé en utilisant des informations d’identification AWS statiques.
registries:
ecr-docker:
type: docker-registry
url: https://1234567890.dkr.ecr.us-east-1.amazonaws.com
username: ${{secrets.ECR_AWS_ACCESS_KEY_ID}}
password: ${{secrets.ECR_AWS_SECRET_ACCESS_KEY}}
replaces-base: true
git
Le type git
prend en charge le nom d’utilisateur et le mot de passe.
registries:
github-octocat:
type: git
url: https://github.com
username: x-access-token
password: ${{secrets.MY_GITHUB_PERSONAL_TOKEN}}
hex-organization
Le type hex-organization
prend en charge l’organisation et la clé.
registries:
github-hex-org:
type: hex-organization
organization: github
key: ${{secrets.MY_HEX_ORGANIZATION_KEY}}
hex-repository
Le type hex-repository
prend en charge une clé d’authentification.
repo
est un champ obligatoire, qui doit correspondre au nom du dépôt utilisé dans votre déclaration de dépendance.
public-key-fingerprint
est un champ de configuration facultatif, qui représente l’empreinte digitale de la clé publique pour le dépôt Hex. public-key-fingerprint
est utilisé par Hex pour établir une confiance avec le dépôt privé. Le champ public-key-fingerprint
peut être listé en texte clair ou stocké en tant que secret Dependabot.
registries:
github-hex-repository:
type: hex-repository
repo: private-repo
url: https://private-repo.example.com
auth-key: ${{secrets.MY_AUTH_KEY}}
public-key-fingerprint: ${{secrets.MY_PUBLIC_KEY_FINGERPRINT}}
maven-repository
Le type maven-repository
prend en charge le nom d’utilisateur et le mot de passe.
registries:
maven-artifactory:
type: maven-repository
url: https://artifactory.example.com
username: octocat
password: ${{secrets.MY_ARTIFACTORY_PASSWORD}}
replaces-base: true
npm-registry
Le type npm-registry
prend en charge le nom d’utilisateur et le mot de passe ou le jeton.
Quand vous utilisez le nom d’utilisateur et le mot de passe, votre jeton d’authentification de .npmrc
peut contenir un _password
codé base64
; toutefois, le mot de passe référencé dans votre fichier config Dependabot doit être le mot de passe d’origine (non codé).
registries:
npm-npmjs:
type: npm-registry
url: https://registry.npmjs.org
username: octocat
password: ${{secrets.MY_NPM_PASSWORD}} # Must be an unencoded password
replaces-base: true
registries:
npm-github:
type: npm-registry
url: https://npm.pkg.github.com
token: ${{secrets.MY_GITHUB_PERSONAL_TOKEN}}
replaces-base: true
Pour des raisons de sécurité, Dependabot ne définit pas de variables d’environnement. Yarn (v2 et ultérieur) nécessite que toutes les variables d’environnement accessibles soient définies. Lorsque vous accédez à des variables d’environnement dans votre fichier .yarnrc.yml
, vous devez fournir une valeur de secours telle que ${ENV_VAR-fallback}
ou ${ENV_VAR:-fallback}
. Pour plus d’informations, consultez Fichiers Yarnrc dans la documentation de Yarn.
nuget-feed
Le type nuget-feed
prend en charge le nom d’utilisateur et le mot de passe ou le jeton.
registries:
nuget-example:
type: nuget-feed
url: https://nuget.example.com/v3/index.json
username: octocat@example.com
password: ${{secrets.MY_NUGET_PASSWORD}}
registries:
nuget-azure-devops:
type: nuget-feed
url: https://pkgs.dev.azure.com/.../_packaging/My_Feed/nuget/v3/index.json
username: octocat@example.com
password: ${{secrets.MY_AZURE_DEVOPS_TOKEN}}
python-index
Le type python-index
prend en charge le nom d’utilisateur et le mot de passe ou le jeton.
registries:
python-example:
type: python-index
url: https://example.com/_packaging/my-feed/pypi/example
username: octocat
password: ${{secrets.MY_BASIC_AUTH_PASSWORD}}
replaces-base: true
registries:
python-azure:
type: python-index
url: https://pkgs.dev.azure.com/octocat/_packaging/my-feed/pypi/example
username: octocat@example.com
password: ${{secrets.MY_AZURE_DEVOPS_TOKEN}}
replaces-base: true
rubygems-server
Le type rubygems-server
prend en charge le nom d’utilisateur et le mot de passe ou le jeton.
registries:
ruby-example:
type: rubygems-server
url: https://rubygems.example.com
username: octocat@example.com
password: ${{secrets.MY_RUBYGEMS_PASSWORD}}
replaces-base: true
registries:
ruby-github:
type: rubygems-server
url: https://rubygems.pkg.github.com/octocat/github_api
token: ${{secrets.MY_GITHUB_PERSONAL_TOKEN}}
replaces-base: true
terraform-registry
Le type terraform-registry
prend en charge un jeton.
registries:
terraform-example:
type: terraform-registry
url: https://terraform.example.com
token: ${{secrets.MY_TERRAFORM_API_TOKEN}}
Activation de la prise en charge des écosystèmes au niveau bêta
enable-beta-ecosystems
Par défaut, Dependabot met à jour les manifestes de dépendance et les fichiers de verrouillage uniquement pour les écosystèmes entièrement pris en charge. Utilisez l’indicateur enable-beta-ecosystems
pour choisir les mises à jour des écosystèmes qui ne sont pas encore en disponibilité générale.
Il n’existe actuellement aucun écosystème dans la version bêta.
# Configure beta ecosystem
version: 2
enable-beta-ecosystems: true
updates:
- package-ecosystem: "beta-ecosystem"
directory: "/"
schedule:
interval: "weekly"