Note
Dein Websiteadministrator muss Dependabot updates für Ihre GitHub Enterprise Server-Instance einrichten, damit du dieses Feature verwenden kannst. Weitere Informationen findest du unter Aktivieren von Dependabot für dein Unternehmen.
Möglicherweise kannst du Dependabot updates nicht aktivieren oder deaktivieren, wenn ein Unternehmensbesitzer eine Richtlinie auf Unternehmensebene festgelegt hat. Weitere Informationen findest du unter Erzwingen von Richtlinien für die Codesicherheit und -analyse für Unternehmen.
Informationen zu Versionsupdates für Abhängigkeiten
Du aktivierst Dependabot version updates, indem du eine dependabot.yml
-Konfigurationsdatei in das Verzeichnis .github
deines Repositorys eincheckst. Dann werden von Dependabot Pull Requests ausgelöst, damit die von Ihnen konfigurierten Abhängigkeiten auf dem neuesten Stand gehalten werden. Für die Abhängigkeiten jedes Paket-Managers, die du aktualisieren möchtest, musst du den Speicherort der Paketmanifestdateien angeben und festlegen, wie oft auf Aktualisierungen der in diesen Dateien aufgeführten Abhängigkeiten geprüft werden soll. Informationen zum Aktivieren von Sicherheitsupdates findest du unter Konfigurieren von Dependabot-Sicherheitsupdates.
Beim ersten Aktivieren der Versionsaktualisierung sind möglicherweise viele Abhängigkeiten veraltet, und einige hinken der aktuellen Version um mehrere Versionen hinterher. Dependabot führt sofort nach der Aktivierung eine Überprüfung auf veraltete Abhängigkeiten durch. Abhängig davon, für wie viele Manifestdateien du Updates konfigurierst, werden dir möglicherweise schon wenige Minuten nach dem Hinzufügen der Konfigurationsdatei neue Pull Requests für Versionsaktualisierungen angezeigt. Dependabot führt auch bei späteren Änderungen an der Konfigurationsdatei eine Aktualisierung durch.
Damit die Pull Requests überschaubar bleiben und leicht überprüft werden können, löst Dependabot maximal fünf Pull Requests aus, um die Abhängigkeiten an die neueste Version anzupassen. Wenn einige der ersten Pull Requests vor der nächsten geplanten Aktualisierung gemergt werden, werden die verbleibenden Pull Requests beim nächsten Update geöffnet, bis zu diesem Höchstwert. Du kannst die maximale Anzahl offener Pull Requests ändern, indem du die open-pull-requests-limit
-Konfigurationsoption festlegst.
Um die Anzahl von Pull Requests weiter zu verringern, kannst du mithilfe der Konfigurationsoption groups
Abhängigkeiten (pro Paketökosystem) in Gruppen zusammenfassen. Dependabot löst dann einen einzigen Pull Request aus, um möglichst viele Abhängigkeiten in der Gruppe gleichzeitig auf die neuesten Versionen zu aktualisieren. Weitere Informationen findest du unter Automatische Aktualisierung deiner Abhängigkeiten mit Versionsupdates von Dependabot.
Aufgrund einer Fehlkonfiguration oder einer inkompatiblen Version kann es vorkommen, dass eine Ausführung von Dependabot fehlschlägt. Nach 30 fehlerhaften Ausführungen überspringt Dependabot version updates nachfolgende geplante Ausführungen, bis Sie manuell eine Überprüfung auf Updates aus dem Abhängigkeitsdiagramm auslösen. Dependabot security updates wird weiterhin wie gewohnt ausgeführt.
Standardmäßig werden nur direkte Abhängigkeiten von Dependabot version updates auf dem neuesten Stand gehalten, die explizit in einem Manifest definiert sind. Du kannst auswählen, Updates für indirekte Abhängigkeiten zu empfangen, die in Sperrdateien definiert sind. Weitere Informationen finden Sie unter Dependabot options reference.
Bei der Durchführung von Sicherheits- oder Versionsupdates müssen einige Ökosysteme in der Lage sein, alle Abhängigkeiten von der jeweiligen Quelle aufzulösen, um zu überprüfen, ob die Updates erfolgreich waren. Wenn deine Manifest- oder Sperrdateien private Abhängigkeiten enthalten, muss Dependabot auf den Speicherort zugreifen können, an dem diese Abhängigkeiten gehostet werden. Organisationsbesitzer können Dependabot Zugriff auf private Repositorys gewähren, die Abhängigkeiten für ein Projekt innerhalb derselben Organisation enthalten. Weitere Informationen findest du unter Verwalten von Sicherheits- und Analyseeinstellungen für deine Organisation. Du kannst den Zugriff auf private Registrierungen in der Konfigurationsdatei dependabot.yml
eines Repositorys konfigurieren. Weitere Informationen findest du unter Dependabot options reference. Darüber hinaus bietet Dependabot keine Unterstützung für private GitHub-Abhängigkeiten für alle Paket-Manager. Weitere Informationen findest du unter Von Dependabot unterstützte Ökosysteme und Repositorys und GitHub-Sprachunterstützung.
Aktivieren von Dependabot version updates
Du aktivierst Dependabot version updates, indem du die Konfigurationsdatei dependabot.yml
in deinem Repository committest.
-
Erstelle die Konfigurationsdatei
dependabot.yml
im Verzeichnis.github
deines Repositorys. Sie können den folgenden Codeausschnitt als Ausgangspunkt verwenden. For information about the options you can use to customize how Dependabot maintains your repositories, see Dependabot options reference.YAML # To get started with Dependabot version updates, you'll need to specify which # package ecosystems to update and where the package manifests are located. version: 2 updates: - package-ecosystem: "" # See documentation for possible values directory: "/" # Location of package manifests schedule: interval: "weekly"
# To get started with Dependabot version updates, you'll need to specify which # package ecosystems to update and where the package manifests are located. version: 2 updates: - package-ecosystem: "" # See documentation for possible values directory: "/" # Location of package manifests schedule: interval: "weekly"
-
Füge eine
version
hinzu. Dieser Schlüssel ist obligatorisch. Die Datei muss mitversion: 2
beginnen. -
Wenn du über Abhängigkeiten in einer privaten Registrierung verfügst, kannst du optional einen
registries
-Abschnitt mit Authentifizierungsdetails hinzufügen. Weitere Informationen findest du unterregistries
in „Konfigurationsoptionen für die Dateidependabot.yml
“. -
Füge einen
updates
-Abschnitt mit einem Eintrag für jeden Paket-Manager hinzu, der von Dependabot überwacht werden soll. Dieser Schlüssel ist obligatorisch. Du verwendest ihn, um zu konfigurieren, wie die Versionen oder die Abhängigkeiten deines Projekts von Dependabot aktualisiert werden. Von jedem Eintrag werden die Updateeinstellungen für einen bestimmten Paket-Manager konfiguriert. -
Verwende für jeden Paket-Manager:
package-ecosystem
, um den Paket-Manager anzugeben. Weitere Informationen zu den unterstützten Paketmanagern finden Sie unterpackage-ecosystem
„Konfigurationsoptionen für diedependabot.yml
-Datei“.directory
, um den Speicherort des Manifests oder anderer Definitionsdateien anzugeben. Weitere Informationen findest du unterdirectory
in „Konfigurationsoptionen für die Dateidependabot.yml
“. .schedule.interval
, um anzugeben, wie oft nach neuen Versionen gesucht werden soll. Weitere Informationen findest du unterschedule.interval
in „Konfigurationsoptionen für die Dateidependabot.yml
“.
-
Überprüfe die Konfigurationsdatei dependabot.yml im
.github
-Verzeichnis des Repositorys.
Beispieldatei für dependabot.yml
Im folgenden Beispiel für die Datei dependabot.yml
werden Versionsupdates für zwei Paket-Manager konfiguriert: npm und Docker. Wenn diese Datei eingecheckt ist, werden die Manifestdateien im Standardbranch von Dependabot auf veraltete Abhängigkeiten geprüft. Wenn veraltete Abhängigkeiten gefunden werden, werden Pull Requests für den Standardbranch ausgelöst, damit die Abhängigkeiten aktualisiert werden.
# Basic `dependabot.yml` file with
# minimum configuration for two package managers
version: 2
updates:
# Enable version updates for npm
- package-ecosystem: "npm"
# Look for `package.json` and `lock` files in the `root` directory
directory: "/"
# Check the npm registry for updates every day (weekdays)
schedule:
interval: "daily"
# Enable version updates for Docker
- package-ecosystem: "docker"
# Look for a `Dockerfile` in the `root` directory
directory: "/"
# Check for updates once a week
schedule:
interval: "weekly"
Wenn die Docker-Abhängigkeiten im obigen Beispiel sehr veraltet waren, empfiehlt es sich, mit einem Zeitplan vom Typ daily
zu beginnen, bis die Abhängigkeiten aktuell sind, und dann wieder auf einen wöchentlichen Zeitplan überzugehen.
Aktivieren von Versionsupdates für Forks
Wenn du Versionsupdates für Forks aktivieren möchtest, gibt es einen zusätzlichen Schritt. Versionsupdates werden nicht automatisch für Forks aktiviert, wenn eine dependabot.yml
-Konfigurationsdatei vorhanden ist. Dadurch wird sichergestellt, dass Forkbesitzer nicht versehentlich Versionsupdates aktivieren, wenn sie Änderungen, einschließlich einer dependabot.yml
-Konfigurationsdatei, aus dem ursprünglichen Repository abrufen.
Für einen Fork musst du Dependabot zudem explizit aktivieren.
-
Navigieren Sie auf GitHub zur Hauptseite des Repositorys.
-
Wähle unter dem Namen deines Repositorys die Option Einstellungen aus. Wenn die Registerkarte „Einstellungen“ nicht angezeigt wird, wähle im Dropdownmenü die Option Einstellungen aus.
-
Klicke im Abschnitt „Security“ der Seitenleiste auf „Code security and analysis“.
-
Klicke unter „Code security and analysis“ rechts neben „Dependabot version updates“ auf Enable, um es Dependabot zu erlauben, Versionsupdates zu initiieren.
Überprüfen des Status von Versionsupdates
Nachdem du Versionsupdates aktiviert hast, ist im Abhängigkeitsdiagramm für das Repository die Registerkarte Dependabot ausgefüllt. Diese Registerkarte zeigt, für die Überwachung welcher Paket-Manager Dependabot konfiguriert ist und wann von Dependabot zum letzten Mal eine Prüfung auf neue Versionen durchgeführt wurde.
Informationen findest du unter Listing dependencies configured for version updates.
Deaktivieren von Dependabot version updates
Du kannst Versionsupdates vollständig deaktivieren, indem du die Datei dependabot.yml
aus deinem Repository löschst. In der Regel möchtest du Updates vorübergehend für eine oder mehrere Abhängigkeiten oder Paket-Manager deaktivieren.
- Paket-Manager: Deaktiviere Updates durch Festlegen von
open-pull-requests-limit: 0
oder durch Auskommentieren vom relevantenpackage-ecosystem
in der Konfigurationsdatei. - Bestimmte Abhängigkeiten: Deaktiviere Updates durch Hinzufügen von
ignore
-Attributen für Pakete oder Anwendungen, die du aus Updates ausschließen möchtest.
Wenn du Abhängigkeiten deaktivierst, kannst du Platzhalter verwenden, um Übereinstimmungen mit verwandten Bibliotheken zu erzielen. Du kannst auch angeben, welche Versionen ausgeschlossen werden sollen. Dies ist besonders nützlich, wenn du Updates für eine Bibliothek blockieren musst – bei ausstehender Arbeit zum Unterstützen eines Breaking Change an der API –, aber alle Sicherheitskorrekturen für die von dir verwendete Version abrufen möchtest.
Beispiel für das Deaktivieren von Versionsupdates für einige Abhängigkeiten
Das nachstehende Beispiel für die Datei dependabot.yml
enthält Beispiele für die verschiedenen Möglichkeiten zum Deaktivieren von Updates für einige Abhängigkeiten, während andere Updates fortgesetzt werden können.
# `dependabot.yml` file with updates
# disabled for Docker and limited for npm
version: 2
updates:
# Configuration for Dockerfile
- package-ecosystem: "docker"
directory: "/"
schedule:
interval: "weekly"
# Disable all pull requests for Docker dependencies
open-pull-requests-limit: 0
# Configuration for npm
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "weekly"
ignore:
# Ignore updates to packages that start with 'aws'
# Wildcards match zero or more arbitrary characters
- dependency-name: "aws*"
# Ignore some updates to the 'express' package
- dependency-name: "express"
# Ignore only new versions for 4.x and 5.x
versions: ["4.x", "5.x"]
# For all packages, ignore all patch updates
- dependency-name: "*"
update-types: ["version-update:semver-patch"]
Weitere Informationen zum Überprüfen auf vorhandene Einstellungen vom Typ „Ignorieren“ findest du unter Dependabot options reference.