Préparation à la personnalisation des demandes de tirage
Si vous n’avez pas encore configuré de fichier dependabot.yml pour votre référentiel et que vous souhaitez personnaliser les demandes de tirage pour les mises à jour de sécurité, vous devez tout d’abord :
- Archiver un fichier
dependabot.ymldans le répertoire.githubde votre référentiel. Pour plus d’informations, consultez « Configuration de mises à jour de version Dependabot ». - Définir toutes les clés requises. Pour plus d’informations, consultez Clés requises.
- Si vous souhaitez que la personnalisation d’un écosystème de packages s’applique uniquement aux mises à jour de sécurité (et exclut les mises à jour de version), définissez la clé de
open-pull-requests-limitsur0.
Vous pouvez ensuite déterminer vos besoins et vos priorités en matière de mises à jour de sécurité et appliquer une combinaison des options de personnalisation décrites ci-dessous.
Priorité aux mises à jour significatives
Pour créer un processus de révision plus ciblé qui hiérarchise les mises à jour significatives, utilisez groups pour combiner des mises à jour de sécurité de plusieurs dépendances en une seule demande de tirage.
Pour obtenir des instructions détaillées, consultez Hiérarchisation des mises à jour significatives.
Ajout automatique de personnes responsables
Utilisez assignees pour ajouter automatiquement des personnes ou des équipes en tant que personnes responsables aux demandes de tirage.
Pour des instructions détaillées, consultez Ajout automatique de personnes responsables.
Ajout automatique de réviseurs
Pour vous assurer que les mises à jour de sécurité de votre projet sont traitées rapidement par l'équipe appropriée, vous pouvez ajouter automatiquement des réviseurs aux demandes de tirages Dependabot à l'aide d'un fichier CODEOWNERS. Consultez À propos des propriétaires de code.
Étiquetage des demandes de tirage avec des étiquettes personnalisées
Pour hiérarchiser des demandes de tirage spécifiques ou les intégrer dans des pipelines CI/CD, utilisez labels pour appliquer vos propres étiquettes personnalisées à chaque demande de tirage.
Pour obtenir des instructions détaillées, consultez Étiquetage des demandes de tirage avec des étiquettes personnalisées.
Ajout d’un préfixe pour valider les messages
Pour intégrer à des automatisations qui traitent les titres des messages de validation ou des demandes de tirage (pull), utilisez commit-message pour spécifier le préfixe souhaité pour les messages de validation et les titres des demandes de tirage.
Pour obtenir des instructions détaillées, consultez Ajout d’un préfixe pour valider les messages.
Association de demandes de tirage avec un jalon
Pour suivre la progression vers un objectif ou une mise en production de projet, utilisez milestone pour associer les demandes de tirage de Dependabot avec un jalon.
Pour obtenir des instructions détaillées, consultez Association des demandes de tirage à un jalon.
Modification du séparateur dans le nom de la branche de demande de tirage
Pour vous assurer que vos noms de branche s’alignent avec les conventions existantes de votre équipe, utilisez pull-request-branch-name.separator pour spécifier le séparateur que vous souhaitez que Dependabot utilise pour les noms de branche.
Pour des conseils détaillés, consultez Modification du séparateur dans le nom de la branche de demande de tirage.
Exemple 1 : configuration des mises à jour de sécurité uniquement
Dans cet exemple, le fichier dependabot.yml :
- Utilise un registre privé pour les mises à jour des dépendances npm.
- Désactive les mises à jour de version pour les dépendances, afin que toutes les personnalisations s’appliquent uniquement aux mises à jour de sécurité.
- Est personnalisé de manière à ce que Dependabot applique des étiquettes personnalisées aux demandes de tirage et ajoute automatiquement des destinataires.
- Regroupe les mises à jour de sécurité pour les dépendances golang dans une seule demande de tirage.
# Example configuration file that:
# - Uses a private registry for npm updates
# - Ignores lodash dependency
# - Disables version-updates
# - Applies custom labels
# - Adds assignees
# - Group security updates for golang dependencies into a single pull request
version: 2
registries:
# Define a private npm registry with the name `example`
example:
type: npm-registry
url: https://example.com
token: ${{secrets.NPM_TOKEN}}
updates:
- package-ecosystem: "npm"
directory: "/src/npm-project"
schedule:
interval: "daily"
# For Lodash, ignore all updates
ignore:
- dependency-name: "lodash"
# Disable version updates for npm dependencies
open-pull-requests-limit: 0
registries:
# Ask Dependabot to use the private registry for npm
- example
# Raise all npm pull requests for security updates with custom labels
labels:
- "npm dependencies"
- "triage-board"
# Raise all npm pull requests for security updates with assignees
assignees:
- "user-name"
- package-ecosystem: "gomod"
groups:
# Group security updates for golang dependencies
# into a single pull request
golang:
applies-to: security-updates
patterns:
- "golang.org*"
# Example configuration file that:
# - Uses a private registry for npm updates
# - Ignores lodash dependency
# - Disables version-updates
# - Applies custom labels
# - Adds assignees
# - Group security updates for golang dependencies into a single pull request
version: 2
registries:
# Define a private npm registry with the name `example`
example:
type: npm-registry
url: https://example.com
token: ${{secrets.NPM_TOKEN}}
updates:
- package-ecosystem: "npm"
directory: "/src/npm-project"
schedule:
interval: "daily"
# For Lodash, ignore all updates
ignore:
- dependency-name: "lodash"
# Disable version updates for npm dependencies
open-pull-requests-limit: 0
registries:
# Ask Dependabot to use the private registry for npm
- example
# Raise all npm pull requests for security updates with custom labels
labels:
- "npm dependencies"
- "triage-board"
# Raise all npm pull requests for security updates with assignees
assignees:
- "user-name"
- package-ecosystem: "gomod"
groups:
# Group security updates for golang dependencies
# into a single pull request
golang:
applies-to: security-updates
patterns:
- "golang.org*"
Exemple 2 : configuration des mises à jour de version et des mises à jour de sécurité
Dans cet exemple, le fichier dependabot.yml :
- Est personnalisée de manière à ce que Dependabot ajoute des étiquettes personnalisées à la fois pour les mises à jour de version et les mises à jour de sécurité.
- Utilise l’option de personnalisation
groupspour créer deux groupes («angular» et «production-dependencies») afin de regrouper plusieurs mises à jour dans des demandes de tirage uniques. - Spécifie que la personnalisation
groupspourangulars’applique uniquement aux mises à jour de sécurité. - Spécifie que la personnalisation
groupspourproduction-dependenciess’applique uniquement aux mises à jour de version.
version: 2
updates:
# Keep npm dependencies up to date
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "weekly"
# Raise all npm pull requests for security and version updates with custom labels
labels:
- "npm dependencies"
- "triage-board"
groups:
angular:
# Group security updates for Angular dependencies into a single pull request
applies-to: security-updates
patterns:
- "@angular*"
production-dependencies:
# Group version updates for dependencies of type "production" into a single pull request
applies-to: version-updates
dependency-type: "production"
version: 2
updates:
# Keep npm dependencies up to date
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "weekly"
# Raise all npm pull requests for security and version updates with custom labels
labels:
- "npm dependencies"
- "triage-board"
groups:
angular:
# Group security updates for Angular dependencies into a single pull request
applies-to: security-updates
patterns:
- "@angular*"
production-dependencies:
# Group version updates for dependencies of type "production" into a single pull request
applies-to: version-updates
dependency-type: "production"
Lectures complémentaires
-
[AUTOTITLE](/code-security/dependabot/working-with-dependabot/dependabot-options-reference) -
[AUTOTITLE](/code-security/dependabot/working-with-dependabot/configuring-access-to-private-registries-for-dependabot)