Automatiser les mises à jour des dépendances
Exemple de scénario
Supposons que votre project dépend de nombreuses bibliothèques et packages. Les dépendances vulnérables ou obsolètes créent des risques de sécurité qui peuvent affecter votre project et d’autres personnes qui s’y appuient.
Tchat Copilot peut vous aider à configurer les mises à jour de sécurité et de version de Dependabot afin que vos dépendances restent toujours sur les versions les plus sécurisées et à jour. Consultez À propos des mises à jour de sécurité Dependabot et À propos des mises à jour de version Dependabot.
Avant de commencer, vérifiez que Dependabot est entièrement activé sous les « Paramètres » de votre référentiel.
- Dans vos paramètres de « Sécurité du code », assurez-vous que Dependabot alerts et Dependabot security updates sont tous deux réglés sur « Activé ».
- Créez et validez un fichier
.github/dependabot.ymlvide dans le référentiel.
Exemple d’invite
Assurez-vous que votre référentiel est joint à la requête afin de fournir le contexte.
Analyze the codebase and project structure of this repository. Detect all package managers and package ecosystems in use, including their respective locations (e.g., npm, yarn, pip, maven, gradle, composer, github-actions, etc.). For each detected ecosystem, create a configuration entry in a single, top-level .github/dependabot.yml file that enables security and version updates on a reasonable schedule. Use the recommended best practices for each ecosystem. Clearly specify the directory for each ecosystem detected. If multiple ecosystems or multiple directories are present, include them all in the configuration. In the output, include any notes on the configuration or best practices, as well as next steps that include how to commit the dependabot.yml file to the repository via the GitHub web browser and how to check that Dependabot version updates and Dependabot security updates are enabled.
Analyze the codebase and project structure of this repository. Detect all package managers and package ecosystems in use, including their respective locations (e.g., npm, yarn, pip, maven, gradle, composer, github-actions, etc.).
For each detected ecosystem, create a configuration entry in a single, top-level .github/dependabot.yml file that enables security and version updates on a reasonable schedule. Use the recommended best practices for each ecosystem. Clearly specify the directory for each ecosystem detected. If multiple ecosystems or multiple directories are present, include them all in the configuration.
In the output, include any notes on the configuration or best practices, as well as next steps that include how to commit the dependabot.yml file to the repository via the GitHub web browser and how to check that Dependabot version updates and Dependabot security updates are enabled.
Exemple de sortie
Tchat Copilot analyse votre référentiel et écrit le contenu du fichier de configuration dependabot.yml pour vous, ce qui indique à Dependabot les dépendances dont il a besoin pour rechercher.
version: 2
updates:
# Python (pip)
- package-ecosystem: "pip"
directory: "/" # Location of requirements.txt
schedule:
interval: "weekly" # Weekly updates are a good balance for libraries
day: "sunday"
time: "06:00"
timezone: "UTC"
open-pull-requests-limit: 5
allow:
- dependency-type: "all"
commit-message:
prefix: "pip"
labels:
- "dependencies"
- "python"
ignore:
- dependency-name: "pip" # Ignore pip self-updates
# GitHub Actions
- package-ecosystem: "github-actions"
directory: "/" # Looks for workflow files under .github/workflows/
schedule:
interval: "weekly"
day: "sunday"
time: "06:00"
timezone: "UTC"
open-pull-requests-limit: 5
commit-message:
prefix: "actions"
labels:
- "dependencies"
- "github-actions"
Une fois que vous avez validé le fichier dependabot.yml dans votre référentiel, Dependabot ouvrira des pull requests sur votre référentiel chaque fois qu'une dépendance vulnérable ou obsolète est détectée.
Personnalisez la gestion des dépendances
Exemple de scénario
Supposons que votre équipe utilise la configuration de base de Dependabot depuis quelques mois et que vous recevez de nombreuses pull requests de mise à jour des dépendances. Toutefois, vous constatez que :
- Les pull requests sont non examinées, car personne n'est automatiquement assigné.
- Vous souhaitez que les pull requests soient automatiquement ajoutées au tableau de projet de votre équipe par l'intermédiaire d'une étiquette.
- Votre CI est submergée par un trop grand nombre de pull requests de dépendance simultanées.
- Vous obtenez des mises à jour pour les dépendances de développement qui n’affectent pas la production.
Vous souhaitez personnaliser votre configuration Dependabot pour mieux adapter le flux de travail de votre équipe, par exemple en assignant automatiquement des pull requests aux membres de l'équipe appropriés, en ajoutant des étiquettes pour les intégrer au tableau de projet, en limitant le nombre de pull requests ouvertes, et en vous concentrant uniquement sur les dépendances de production.
Tchat Copilot peut rédiger un fichier dependabot.yml mis à jour, mieux adapté aux besoins de votre équipe.
Exemple d’invite
I want to customize my pull requests for Dependabot security and version updates, so that: * Pull requests are automatically assigned to the team "octocat-reviewers." * The label "security-management" is automatically added to every pull request. * The number of open Dependabot PRs is limited. * Development dependencies are ignored. Draft an update to the dependabot.yml file in my repository that specifies these customization options.
I want to customize my pull requests for Dependabot security and version updates, so that:
* Pull requests are automatically assigned to the team "octocat-reviewers."
* The label "security-management" is automatically added to every pull request.
* The number of open Dependabot PRs is limited.
* Development dependencies are ignored.
Draft an update to the dependabot.yml file in my repository that specifies these customization options.
Conseil
- Il existe de nombreuses options de personnalisation à explorer. Pour plus d’informations, consultez « Personnalisation des demandes de tirage pour les mises à jour de sécurité de Dependabot » et « Personnalisation des demandes de tirage Dependabot pour les adapter à vos processus ».
- Vous pouvez spécifier différentes personnalisations par écosystème de packages.
Exemple de sortie
version: 2
updates:
# Python (pip)
- package-ecosystem: "pip"
directory: "/"
schedule:
interval: "weekly"
day: "sunday"
time: "06:00"
timezone: "UTC"
open-pull-requests-limit: 5
allow:
- dependency-type: "production" # Ignore development dependencies
assignees:
- "octocat-reviewers" # Assign PRs to the team
labels:
- "dependencies"
- "security-management" # Custom label for all PRs
- "python"
commit-message:
prefix: "pip"
ignore:
- dependency-name: "pip"