Skip to main content
We publish frequent updates to our documentation, and translation of this page may still be in progress. For the most current information, please visit the English documentation.

Konfigurieren von Versionsupdates von Dependabot

Du kannst dein Repository so konfigurieren, dass Dependabot automatisch die von dir verwendeten Pakete aktualisiert.

Who can use this feature

People with write permissions to a repository can enable or disable Dependabot version updates for the repository.

**Hinweis:** Dependabot Sicherheits- und Versionsupdates befinden sich derzeit in der öffentlichen Beta und unterliegen Änderungen.

Hinweis: Dein Websiteadministrator muss Dependabot updates für your GitHub Enterprise Server instance einrichten, damit du dieses Feature verwenden kannst. Weitere Informationen findest du unter Aktivieren von Dependabot für dein 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. Weitere Informationen zum Aktivieren von Sicherheitsupdates findest du unter Konfigurieren von Dependabot security updates.

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.

Dependabot kann auch Pull Requests erstellen, wenn du eine Manifestdatei änderst, nachdem ein Update fehlgeschlagen ist. Dies liegt daran, dass Änderungen an einem Manifest – beispielsweise das Entfernen einer Abhängigkeit, durch die ein Update fehlschlägt – dazu führen können, dass die neu ausgelöste Aktualisierung erfolgreich ist.

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. Weitere Informationen findest du unter Anpassen von Abhängigkeitsaktualisierungen.

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 findest du unter Konfigurationsoptionen für die Datei „dependabot.yml“.

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 Konfigurationsoptionen für die Datei „dependabot.yml“. Darüber hinaus bietet Dependabot keine Unterstützung für private GitHub-Abhängigkeiten für alle Paket-Manager. Weitere Informationen findest du unter Informationen zu Dependabot-Versionsupdates und GitHub-Sprachunterstützung.

Aktivieren von Dependabot version updates

Du aktivierst Dependabot version updates, indem du die Konfigurationsdatei dependabot.yml in deinem Repository committest.

  1. Erstelle die Konfigurationsdatei dependabot.yml im Verzeichnis .github deines Repositorys.
  2. Füge eine version hinzu.
  3. Wenn du über Abhängigkeiten in einer privaten Registrierung verfügst, kannst du optional einen registries-Abschnitt mit Authentifizierungsdetails hinzufügen.
  4. Füge einen updates-Abschnitt mit einem Eintrag für jeden Paket-Manager hinzu, der von Dependabot überwacht werden soll.
  5. Verwende für jeden Paket-Manager:
    • package-ecosystem, um den Paket-Manager anzugeben.
    • directory, um den Speicherort des Manifests oder anderer Definitionsdateien anzugeben.
    • schedule.interval, um anzugeben, wie oft nach neuen Versionen gesucht werden soll.
  6. Überprüfe die Konfigurationsdatei dependabot.yml im .github-Verzeichnis des Repositorys.

Weitere Informationen zu allen Konfigurationsoptionen findest du unter Konfigurationsoptionen für die Datei „dependabot.yml“.

Beispiel für die Datei 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.

  1. Navigiere auf your GitHub Enterprise Server instance zur Hauptseite des Repositorys. 1. Klicke unter deinem Repositorynamen auf Erkenntnisse. Registerkarte „Erkenntnisse“ auf der Navigationsleiste des Hauptrepositorys 3. Klicke auf der linken Randleiste auf Abhängigkeitsdiagramm. Registerkarte „Abhängigkeitsdiagramm“ auf der linken Randleiste 4. Klicke unter „Abhängigkeitsdiagramm“ auf Dependabot . Abhängigkeitsdiagramm, Registerkarte „Dependabot“
  2. Klicke unter „Enable Dependabot“ (Dependabot aktivieren) auf Enable Dependabot (Dependabot aktivieren).

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

Registerkarte „Insights“ (Erkenntnisse) des Repositorys, Abhängigkeitsdiagramm, Registerkarte „Dependabot“

Weitere Informationen findest du unter Auflisten von für Versionsupdates konfigurierten Abhängigkeiten.

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 relevanten package-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 Konfigurationsoptionen für die Datei dependabot.yml.