Informationen zur Anpassung von Pull Requests für Sicherheitsupdates
Sie können anpassen, wie Dependabot Pull-Anfragen für Sicherheitsupdates generiert, sodass diese optimal zu den Sicherheitsprioritäten und -prozessen Ihres Projekts passen. Beispiel:
-
**Optimiere Dependabot-Pull-Requests, um wichtige Updates** zu priorisieren, indem Sie mehrere Updates in einem einzelnen Pull Request gruppieren. - Anwenden benutzerdefinierter Labels, um Dependabot-Pull-Requests in Ihre bestehenden Workflows zu integrieren.
Ähnlich wie bei Versionsupdates werden Anpassungsoptionen für Sicherheitsupdates in der dependabot.yml-Datei definiert. Wenn Sie die dependabot.yml für Versionsaktualisierungen bereits angepasst haben, dann könnten viele der von Ihnen definierten Konfigurationsoptionen auch automatisch auf Sicherheitsaktualisierungen angewendet werden. Es gibt jedoch ein paar wichtige Punkte zu beachten:
- Dependabot security updates werden immer durch eine Sicherheitsempfehlung ausgelöst, nicht dem
scheduleentsprechend, die Sie independabot.ymlfür Versionsupdates festgelegt haben. - Dependabot löst Pull Requests für Sicherheitsupdates nur für den Standardbranch aus. Wenn deine Konfiguration einen Wert für
target-branchfestlegt, gilt die Anpassung für dieses Paketökosystem standardmäßig nur für Versionsupdates.
Wenn Sie noch keine dependabot.yml-Datei für Ihr Repository konfiguriert haben und Pull Requests für Sicherheitsupdates anpassen möchten, müssen Sie zunächst Folgendes tun:
- Checken Sie eine
dependabot.yml-Datei in das.github-Verzeichnis Ihres Repositorys ein. Weitere Informationen finden Sie unter Konfigurieren von Dependabot-Versionsupdates. - Legen Sie alle erforderlichen Schlüssel fest. Weitere Informationen finden Sie unter Erforderliche Schlüssel.
- Wenn die Anpassung für ein Paketökosystem nur für Sicherheitsupdates gelten soll (und Versionsupdates ausgeschlossen werden sollen), legen Sie den
open-pull-requests-limit-Schlüssel auf0fest.
Überlege, was deine Anforderungen und Prioritäten für Sicherheitsupdates sind, und wende eine Kombination der unten beschriebenen Anpassungsoptionen an.
Priorisieren wichtiger Updates
Um einen ** gezielteren Reviewprozess** zu erstellen, der wichtige Updates priorisiert, verwenden Sie groups, um Sicherheitsupdates für mehrere Abhängigkeiten in einem einzigen Pull Request zu kombinieren.
Ausführliche Anleitungen findest du unter Priorisieren wichtiger Updates.
Automatisches Hinzufügen zugewiesener Personen
Verwende assignees, um Pull Requests automatisch Personen oder Teams als Empfänger hinzuzufügen.
Ausführliche Anleitungen findest du unter Automatisches Hinzufügen zugewiesener Personen.
Automatisches Hinzufügen von Prüfenden
Um sicherzustellen, dass die Sicherheitsupdates deines Projekts umgehend vom entsprechenden Team adressiert werden, kannst du mithilfe einer CODEOWNERS-Datei automatisch Prüfende für Pull Requests in Dependabot hinzuzufügen. Weitere Informationen findest du unter Informationen zu Codeinhabern.
Bezeichnen von Pull Requests mit benutzerdefinierten Bezeichnungen
Um bestimmte Pull Requests zu priorisieren oder sie in CI/CD-Pipelines zu integrieren, verwenden Sie labels, um Ihre eigenen benutzerdefinierten Bezeichnungen auf jeden Pull Request anzuwenden.
Ausführliche Anleitungen finden Sie unter Bezeichnen von Pull Requests mit benutzerdefinierten Bezeichnungen.
Hinzufügen eines Präfixes zu Commitnachrichten
Für die Integration mit Automatisierungen, die Commitnachrichten verarbeiten oder Titel von Pull Requests abrufen, verwenden Sie commit-message, um das Präfix anzugeben, das Sie für Commitnachrichten und Pull-Request-Titel festlegen möchten.
Ausführliche Anleitungen finden Sie unter Hinzufügen eines Präfixes zu Commitnachrichten.
Zuordnen von Pull Requests zu einem Meilenstein
Um den Fortschritt bis zu einem Projektziel oder -release nachzuverfolgen, verwenden Sie milestone, um Dependabot-Pull-Requests einem Meilenstein zuzuordnen.
Ausführliche Anleitungen finden Sie unter Zuordnen von Pull Requests zu einem Meilenstein.
Ändern des Trennzeichens im Branchnamen des Pull Requests
Um sicherzustellen, dass deine Branchnamen den bestehenden Konventionen deines Teams entsprechen, verwenden Sie pull-request-branch-name.separator, um das Trennzeichen anzugeben, das Dependabot für Branchnamen verwenden soll.
Ausführliche Anleitungen finden Sie unter Ändern des Trennzeichens im Branchnamen des Pull Requests.
Beispiel 1: Konfiguration nur für Sicherheitsupdates
In diesem Beispiel hat die Datei dependabot.yml folgende Funktion:
- Verwendet eine private Registrierung für Updates von npm-Abhängigkeiten
- Deaktiviert Versionsupdates für Abhängigkeiten, sodass alle Anpassungen nur für Sicherheitsupdates gelten
- Wird angepasst, sodass Dependabot benutzerdefinierte Bezeichnungen auf die Pull Requests anwendet und zugewiesene Personen automatisch hinzufügt.
- Gruppiert Sicherheitsupdates für Golang-Abhängigkeiten in einem einzelnen Pull Request.
# 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*"
Beispiel 2: Konfiguration für Versionsupdates und Sicherheitsupdates
In diesem Beispiel hat die Datei dependabot.yml folgende Funktion:
- Wird so angepasst, dass Dependabot Versions- und Sicherheitsupdates benutzerdefinierte Bezeichnungen hinzufügt.
- Verwendet die Anpassungsoption
groups, um zwei Gruppen (angularundproduction-dependencies) zu erstellen, um mehrere Updates in einzelnen Pull Requests zu gruppieren - Gibt an, dass die
groups-Anpassung fürangularnur für Sicherheitsupdates gilt - Gibt an, dass die
groups-Anpassung fürproduction-dependenciesnur für Versionsupdates gilt.
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"
Weiterführende Lektüre
-
[AUTOTITLE](/code-security/dependabot/working-with-dependabot/dependabot-options-reference) -
[AUTOTITLE](/code-security/dependabot/working-with-dependabot/configuring-access-to-private-registries-for-dependabot)