Anpassen von Pull Requests für Sicherheitsupdates
Du kannst anpassen, wie Dependabot Pull Requests für Sicherheitsupdates erstellt, damit sie den Sicherheitsprioritäten und Prozessen deines Projekts am besten entsprechen. Zum Beispiel:
- Optimiere Dependabot-Pull-Requests, um wichtige Updates zu priorisieren, indem du mehrere Updates in einem einzelnen Pull Request gruppierst.
- Wende benutzerdefinierte Bezeichnungen an, um Dependabot-Pull-Requests in deine vorhandenen Workflows zu integrieren.
Ähnlich wie bei Versionsupdates werden Anpassungsoptionen für Sicherheitsupdates in der dependabot.yml
-Datei definiert. Wenn du dependabot.yml
bereits für Versionsupdates angepasst hast, können viele der von dir definierten Konfigurationsoptionen auch automatisch auf Sicherheitsupdates angewendet werden. Es gibt jedoch ein paar wichtige Punkte zu beachten:
- Dependabot security updates werden immer durch eine Sicherheitsempfehlung ausgelöst, nicht dem
schedule
entsprechend, die du independabot.yml
für Versionsupdates festgelegt hast. - Dependabot löst Pull Requests für Sicherheitsupdates nur für den Standardbranch aus. Wenn deine Konfiguration einen Wert für
target-branch
festlegt, gilt die Anpassung für dieses Paketökosystem standardmäßig nur für Versionsupdates.
Wenn du noch keine dependabot.yml
Datei für dein Repository konfiguriert hast und Pull Requests für Sicherheitsupdates anpassen möchtest, musst du zuerst:
- Checke eine
dependabot.yml
-Datei im.github
-Verzeichnis deines Repositorys ein. Weitere Informationen finden Sie unter Konfigurieren von Versionsupdates von Dependabot. - Lege alle erforderlichen Schlüssel fest. Weitere Informationen findest du unter Erforderliche Schlüssel.
- Wenn die Anpassung für ein Paketökosystem nur für Sicherheitsupdates gelten soll (und Versionsupdates ausgeschlossen werden sollen), lege den
open-pull-requests-limit
-Schlüssel auf0
fest.
Ü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, verwende 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 von Prüfern und zugewiesenen Personen
Um sicherzustellen, dass die Sicherheitsupdates deines Projekts umgehend vom entsprechenden Team adressiert werden, verwende reviewers
und assignees
, um Personen oder Teams automatisch als Prüfer oder zugewiesene Personen für Pull Requests hinzuzufügen.
Ausführliche Anleitungen findest du unter Automatisches Hinzufügen von Prüfern und zugewiesenen Personen.
Bezeichnen von Pull Requests mit benutzerdefinierten Bezeichnungen
Um bestimmte Pull Requests zu priorisieren oder sie in CI/CD-Pipelines zu integrieren, verwenden labels
, um deine eigenen benutzerdefinierten Bezeichnungen auf jeden Pull Request anzuwenden.
Ausführliche Anleitungen findest du 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 commit-message
, um das Präfix anzugeben, das du für Commitnachrichten und Pull-Request-Titel festlegen möchtest.
Ausführliche Anleitungen findest du 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, verwende milestone
, um Dependabot-Pull-Requests einem Meilenstein zuzuordnen.
Ausführliche Anleitungen findest du 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 pull-request-branch-name.separator
, um das Trennzeichen anzugeben, das Dependabot für Branchnamen verwenden soll.
Ausführliche Anleitungen findest du 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 Reviewer 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 reviewers and 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 reviewers reviewers: - "my-org/team-name" - "octocat" # 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 reviewers and 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 reviewers
reviewers:
- "my-org/team-name"
- "octocat"
# 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 angepasst, sodass Dependabot Reviewer und benutzerdefinierte Bezeichnungen zu Versionsupdates und Sicherheitsupdates hinzufügt
- Verwendet die Anpassungsoption
groups
, um zwei Gruppen (angular
undproduction-dependencies
) zu erstellen, um mehrere Updates in einzelnen Pull Requests zu gruppieren - Gibt an, dass die
groups
-Anpassung fürangular
nur für Sicherheitsupdates gilt - Gibt an, dass die
groups
-Anpassung fürproduction-dependencies
nur 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" # Raise all npm pull requests for security and version updates with reviewers reviewers: - "my-org/team-name" - "octocat" 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"
# Raise all npm pull requests for security and version updates with reviewers
reviewers:
- "my-org/team-name"
- "octocat"
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"