Skip to main content

Verwalten von Abhängigkeitsupdates

Copilot-Chat kann dir dabei helfen, Dependabot einzurichten, um Abhängigkeitsupdates zu optimieren.

Automatisieren von Abhängigkeitsupdates

Beispielszenario

Angenommen, Ihr Projekt hängt von zahlreichen Bibliotheken und Paketen ab. Anfällige oder veraltete Abhängigkeiten schaffen Sicherheitsrisiken, die sich auf Ihre project und andere auswirken können, die darauf angewiesen sind.

Copilot-Chat kann dir dabei helfen, Dependabot-Sicherheits- und Versionsupdates einzurichten, sodass deine Abhängigkeiten immer auf den sichersten und aktuellsten Versionen verbleiben. Weitere Informationen findest du unter Informationen zu Dependabot-Sicherheitsupdates und Informationen zu Updates von Dependabot-Versionen.

Bevor du beginnst, stelle sicher, dass Dependabot unter den „Einstellungen“ deines Repositorys vollständig aktiviert ist.

  1. Stelle unter den Einstellungen „Codesicherheit“ sicher, dass Dependabot alerts und Dependabot security updates beide auf „Aktiviert“ festgelegt sind.
  2. Erstellen Sie eine leere .github/dependabot.yml-Datei und fügen Sie sie dem Repository hinzu.

Beispielprompt

Stelle sicher, dass dein Repository mit dem Prompt für den Kontext verbunden ist.

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

Beispielausgabe

Copilot-Chat analysiert dein Repository und schreibt den Inhalt der dependabot.yml-Konfigurationsdatei für dich, wodurch Dependabot weiß, nach welchen Abhängigkeiten gesucht werden muss.

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"

Nachdem du die dependabot.yml-Datei an dein Repository committet hast, beginnt Dependabot mit dem Öffnen von Pull Requests für dein Repository, wenn eine anfällige oder veraltete Abhängigkeit erkannt wird.

Anpassen der Abhängigkeitsverwaltung

Beispielszenario

Angenommen, dein Team hat die grundlegende Konfiguration von Dependabot für einige Monate verwendet, und du erhältst viele Pull Requests für Abhängigkeitsupdates. Du stellst jedoch Folgendes fest:

  • Pull-Requests bleiben ungeprüft, da niemand automatisch zugewiesen wird.
  • Sie möchten, dass Pullanforderungen automatisch über ein Etikett dem project Board Ihres Teams hinzugefügt werden.
  • Deine CI ist mit zu vielen gleichzeitigen Abhängigkeits-Pull-Requests überfordert.
  • Du erhältst Updates für Entwicklungsabhängigkeiten, die sich nicht auf die Produktion auswirken.

Sie möchten Ihre Dependabot Konfiguration anpassen, um den Workflow Ihres Teams besser zu unterstützen, z. B. das automatische Zuweisen von Pull-Anfragen an die richtigen Teammitglieder, das Hinzufügen von Labels, um Pull-Anfragen zum Projekt-Board hinzuzufügen, das Einschränken der Anzahl der offenen Pull-Anfragen und die Fokussierung nur auf Produktionsabhängigkeiten.

Copilot-Chat kann eine aktualisierte dependabot.yml schreiben, die den Anforderungen Ihres Teams besser entspricht.

Beispielprompt

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

Tipp

Beispielausgabe

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"