Skip to main content

Anpassen von Abhängigkeitsupdates

Du kannst anpassen, wie Dependabot deine Abhängigkeiten verwaltet.

Wer kann dieses Feature verwenden?

People with write permissions to a repository can configure Dependabot for the repository.

Hinweis: Dein Websiteadministrator muss Dependabot updates für deine GitHub Enterprise Server-Instanz einrichten, damit du dieses Feature verwenden kannst. Weitere Informationen findest du unter Aktivieren von Dependabot für dein Unternehmen.

Informationen zum Anpassen von Abhängigkeitsupdates

Nachdem du Versionsupdates aktiviert hast, kannst du anpassen, wie Dependabot deine Abhängigkeiten verwaltet, indem du der dependabot.yml-Datei weitere Optionen hinzufügst. Beispielsweise ist Folgendes möglich:

  • Gib an, an welchem Wochentag Pull Requests für Versionsupdates geöffnet werden sollen: schedule.day
  • Lege Prüferinnen, zugewiesene Personen und Bezeichnungen für alle Paket-Managerinnen fest: reviewers, assignees und labels
  • Definiere eine Versionsverwaltungsstrategie für Änderungen an jeder Manifestdatei: versioning-strategy
  • Ändere die Standardeinstellung 5 für die maximale Anzahl geöffneter Pull Requests für Versionsupdates: open-pull-requests-limit
  • Öffne Pull Requests für Versionsupdates für einen bestimmten Branch anstelle des Standardbranchs: target-branch

Weitere Informationen zu den Konfigurationsoptionen findest du unter Konfigurationsoptionen für die Datei dependabot.yml.

Wenn du die Datei dependabot.yml in deinem Repository aktualisierst, führt Dependabot eine sofortige Überprüfung mit der neuen Konfiguration aus. Innerhalb von Minuten wird eine aktualisierte Liste der Abhängigkeiten auf der Registerkarte Dependabot angezeigt. Dies kann länger dauern, wenn das Repository viele Abhängigkeiten aufweist. Möglicherweise werden auch neue Pull Requests für Versionsupdates angezeigt. Weitere Informationen findest du unter Auflisten von für Versions-Updates konfigurierten Abhängigkeiten.

Auswirkungen von Konfigurationsänderungen auf Sicherheitsupdates

Wenn du die Datei dependabot.yml anpasst, bemerkst du möglicherweise einige Änderungen der Pull Requests, die für Sicherheitsupdates ausgelöst werden. Diese Pull Requests werden immer durch eine Sicherheitsempfehlung für eine Abhängigkeit ausgelöst, anstatt durch den Dependabot-Zeitplan. Sie erben jedoch relevante Konfigurationseinstellungen aus der Datei dependabot.yml, sofern du keinen anderen Zielbranch für Versionsupdates angibst.

Ein Beispiel findest du unten unter Festlegen benutzerdefinierter Bezeichnungen.

Ändern von Zeitplänen

Wenn du einen daily Updatezeitplan festlegst, sucht Dependabot standardmäßig um 05:00 Uhr UTC nach neuen Versionen. Mit schedule.time kannst du eine alternative Tageszeit für die Prüfung auf Updates (Format: hh:mm) angeben.

Die nachstehende Beispieldatei dependabot.yml erweitert die npm-Konfiguration, um anzugeben, wann Dependabot nach Versionsupdates für Abhängigkeiten suchen sollte.

# `dependabot.yml` file with
# customized schedule for version updates

version: 2
updates:
  # Keep npm dependencies up to date
  - package-ecosystem: "npm"
    directory: "/"
    # Check the npm registry for updates at 2am UTC
    schedule:
      interval: "daily"
      time: "02:00"

Festlegen von Prüfern und zugewiesenen Personen

Standardmäßig löst Dependabot Pull Requests ohne Prüfer oder zugewiesene Personen aus.

Mit reviewers und assignees kannst du Prüfer und zugewiesene Personen für alle Pull Requests angeben, die für einen Paket-Manager ausgelöst werden. Wenn du ein Team angibst, musst du den vollständigen Teamnamen verwenden, als ob du @mentioning auf das Team (einschließlich der Organisation) anwenden würdest.

Die folgende Beispieldatei dependabot.yml ändert die npm-Konfiguration, sodass alle Pull Requests, die mit Versions- und Sicherheitsupdates für npm geöffnet werden, zwei Prüfer*innen und eine zugewiesene Person haben.

# `dependabot.yml` file with
# reviews and an assignee for all npm pull requests

version: 2
updates:
  # Keep npm dependencies up to date
  - package-ecosystem: "npm"
    directory: "/"
    schedule:
      interval: "weekly"
    # Raise all npm pull requests with reviewers
    reviewers:
      - "my-org/team-name"
      - "octocat"
    # Raise all npm pull requests with an assignee
    assignees:
      - "user-name"

Festlegen benutzerdefinierter Bezeichnungen

Standardmäßig löst Dependabot alle Pull Requests mit der Bezeichnung dependencies aus. Wenn mehrere Paket-Manager definiert sind, enthält Dependabot eine zusätzliche Bezeichnung für jeden Pull Request. Dies gibt an, welche Sprache oder welches Ökosystem die Pull Request aktualisiert, z. B. java für Gradle-Updates und submodules für Git-Untermodul-Updates. Dependabot erstellt diese Standardbezeichnungen automatisch, sofern in Ihrem Repository erforderlich.

Mit labels kannst du die Standardbezeichnungen außer Kraft setzen und alternative Bezeichnungen für alle Pull Requests angeben, die für einen Paket-Manager ausgelöst werden. Du kannst keine neuen Bezeichnungen in der Datei dependabot.yml erstellen, sodass die alternativen Bezeichnungen bereits im Repository vorhanden sein müssen.

Die folgende Beispieldatei dependabot.yml ändert die npm-Konfiguration, sodass alle Pull Requests, die mit Versions- und Sicherheitsupdates für npm geöffnet werden, benutzerdefinierte Bezeichnungen haben. Außerdem wird die Docker-Konfiguration geändert, um nach Versionsupdates für einen benutzerdefinierten Branch zu suchen und Pull Requests mit benutzerdefinierten Bezeichnungen für diesen benutzerdefinierten Branch auszulösen. Die Docker-Änderungen wirken sich nicht auf Sicherheitsupdate-Pull Requests aus, da Sicherheitsupdates immer am Standardbranch vorgenommen werden.

Hinweis: Der neue target-branch muss ein Dockerfile enthalten, das aktualisiert werden soll, andernfalls hat diese Änderung Auswirkungen auf das Deaktivieren von Versionsupdates für Docker.

# `dependabot.yml` file with
# customized npm configuration

version: 2
updates:
  # Keep npm dependencies up to date
  - package-ecosystem: "npm"
    directory: "/"
    schedule:
      interval: "weekly"
    # Raise all npm pull requests with custom labels
    labels:
      - "npm dependencies"
      - "triage-board"

    # Keep Docker dependencies up to date
  - package-ecosystem: "docker"
    directory: "/"
    schedule:
      interval: "weekly"
    # Raise pull requests for Docker version updates
    # against the "develop" branch. The Docker configuration
    # no longer affects security update pull requests.
    target-branch: "develop"
    # Use custom labels on pull requests for Docker version updates
    labels:
      - "Docker dependencies"
      - "triage-board"

Ignorieren bestimmter Abhängigkeiten für Dependabot version updates

Wenn du nicht bereit bist, Änderungen von Abhängigkeiten in deinem Projekt anzunehmen, kannst du Dependabot konfigurieren, um diese Abhängigkeiten zu ignorieren, wenn Pull Requests für Versionsupdates geöffnet werden. Hierfür kannst du eine der folgenden Methoden verwenden:

  • Konfiguriere die Option ignore für die Abhängigkeit in der Datei dependabot.yml. Hiermit kannst du Updates für bestimmte Abhängigkeiten und Versionen sowie Arten von Updates ignorieren. Weitere Informationen findest du unter Konfigurationsoptionen für die Datei dependabot.yml.
  • Verwende @dependabot ignore-Kommentarbefehle in einem Dependabot Pull Request für Versionsupdates. Mit Kommentarbefehlen kannst du Updates für bestimmte Abhängigkeiten und Versionen ignorieren. Weitere Informationen findest du unter Verwalten von Pull Requests für Abhängigkeitsupdates.

Wenn du das Ignorieren einer Abhängigkeit oder eine Ignorierbedingung aufheben möchtest, kannst du die Ignorierbedingungen aus der Datei dependabot.yml löschen oder den Pull Request erneut öffnen.

Weitere Beispiele

Weitere Beispiele findest du unter Konfigurationsoptionen für die Datei dependabot.yml.