Skip to main content

Gestion des mises à jour des dépendances

Copilot Chat peut vous aider à configurer Dependabot pour simplifier les mises à jour des dépendances.

Automatiser les mises à jour des dépendances

Exemple de scénario

Supposons que votre projet 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 projet et ceux qui en dépendent.

Copilot Chat 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.

  1. 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é ».
  2. Créez et validez un fichier .github/dependabot.yml vide dans le référentiel.

Exemples d’invite

Vérifiez que votre référentiel est attaché à l’invite de 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.

Exemple de sortie

Copilot Chat 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 le fichier validé dependabot.yml dans votre référentiel, Dependabot commence à ouvrir des demandes de tirage 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

Exemple de scénario

Supposons que votre équipe utilise la configuration de base Dependabot depuis quelques mois et que vous obtenez de nombreuses demandes de tirage de mise à jour des dépendances. Toutefois, vous constatez que :

  • Les demandes de tirage restent en suspens, car personne n’est automatiquement affecté.
  • Vous souhaitez que les demandes de tirage soient automatiquement ajoutées à la carte de projet de votre équipe via une étiquette.
  • Votre CI est submergé par un trop grand nombre de demandes de tirage 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 les demandes d'extraction aux membres appropriés de l'équipe, en ajoutant des étiquettes pour ajouter des demandes d'extraction au tableau du projet, en limitant le nombre de demandes d'extraction ouvertes, et en vous concentrant uniquement sur les dépendances de la production.

Copilot Chat peut écrire une dependabot.yml mise à jour qui convient davantage aux besoins de votre équipe.

Exemples 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.

Conseil

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"