Skip to main content

Diese Version von GitHub Enterprise Server wurde eingestellt am 2026-04-09. Es wird keine Patch-Freigabe vorgenommen, auch nicht für kritische Sicherheitsprobleme. Für bessere Leistung, verbesserte Sicherheit und neue Features aktualisiere auf die neueste Version von GitHub Enterprise Server. Wende dich an den GitHub Enterprise-Support, um Hilfe zum Upgrade zu erhalten.

Steuerung der Abhängigkeiten, die von Dependabot aktualisiert werden

Erfahren Sie, wie Sie Ihre dependabot.yml Datei so konfigurieren, dass Dependabot die von Ihnen angegebenen Pakete automatisch aktualisiert werden, wie Sie sie definieren.

Wer kann dieses Feature verwenden?

Users with write access

Sie können Ihre Dependabot Konfiguration an Ihre Anforderungen anpassen, indem Sie Ihrer dependabot.yml Datei Optionen hinzufügen. Sie können beispielsweise sicherstellen, dass Dependabot die richtigen Paketmanifestdateien verwendet und nur die Abhängigkeiten aktualisiert, die Sie beibehalten möchten.

In diesem Artikel werden Anpassungsoptionen zusammengetragen, die für dich möglicherweise hilfreich sind.

Definieren mehrerer Speicherorte für Manifestdateien

Wenn Sie Dependabot version updates für Manifestdateien aktivieren möchten, die an mehreren Speicherorten gespeichert sind, können Sie directories anstelle von directory verwenden. Diese Konfiguration legt beispielsweise zwei verschiedene Updatezeitpläne für Manifestdateien fest, die in verschiedenen Verzeichnissen gespeichert sind.

YAML
# Specify the locations of the manifest files to update for each package manager
# using both `directories` and `directory`

version: 2
updates:
  - package-ecosystem: "bundler"
    # Update manifest files stored in these directories weekly
    directories:
      - "/frontend"
      - "/backend"
      - "/admin"
    schedule:
      interval: "weekly"
  - package-ecosystem: "bundler"
    # Update manifest files stored in the root directory daily
    directory: "/"
    schedule:
      interval: "daily"
  • Um einen Bereich von Verzeichnissen mithilfe eines Musters anzugeben:

    YAML
    # Specify the root directory and directories that start with "lib-",
    # using globbing, for locations of manifest files
    
    version: 2
    updates:
      - package-ecosystem: "composer"
        directories:
          - "/"
          - "/lib-*"
        schedule:
          interval: "weekly"
    
  • Um Manifeste im aktuellen Verzeichnis und in rekursiven Unterverzeichnissen anzugeben

    YAML
    # Specify all directories from the current layer and below recursively,
    # using globstar, for locations of manifest files
    
    version: 2
    updates:
      - package-ecosystem: "composer"
        directories:
          - "**/*"
        schedule:
          interval: "weekly"
    

Ignorieren bestimmter Abhängigkeiten

Wenn Sie nicht bereit sind, Änderungen aus bestimmten Abhängigkeiten in Ihrem Projekt anzunehmen, können Sie konfigurieren Dependabot , um diese Abhängigkeiten zu ignorieren, wenn es Pullanforderungen für Versionsupdates und Sicherheitsupdates öffnet. 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 bestimmte Arten von Updates ignorieren.
  • Verwenden Sie @dependabot ignore Kommentarbefehle für eine Dependabot Pullanforderung für Versionsupdates und Sicherheitsupdates. * Mit Kommentarbefehlen kannst du Updates für bestimmte Abhängigkeiten und Versionen ignorieren.

In den folgenden Beispielen wird veranschaulicht, wie ignore verwendet werden kann, um anzupassen, welche Abhängigkeiten aktualisiert werden.

  • So ignorierst du Updates nach einer bestimmten Version:

    YAML
    ignore:
      - dependency-name: "lodash:*"
        # Ignore versions of Lodash that are equal to or greater than 1.0.0
        versions: [ ">=1.0.0" ]
    
    YAML
    ignore:
      - dependency-name: "sphinx"
        versions: [ "[1.1,)" ]
    
  • So können Sie Patch-Updates ignorieren:

    YAML
    ignore:
      - dependency-name: "@types/node"
        # Ignore patch updates for Node
        update-types: ["version-update:semver-patch"]
    
  • Informationen zum Ignorieren bestimmter Versionen oder Versionsbereiche findest du unter Ignorieren bestimmter Versionen oder Versionsbereiche.

Wenn du eine Abhängigkeit oder eine Bedingung ignorieren möchtest, kannst du die Bedingungen zum Ignorieren aus der dependabot.yml-Datei löschen oder den Pull Request erneut erstellen.

Für Pull Requests für gruppierte Updates kannst du auch @dependabot unignore-Kommentarbefehle verwenden. Mit @dependabot unignore den Kommentarbefehlen können Sie folgendes ausführen, indem Sie eine Dependabot Pullanforderung kommentieren:

  • Eine bestimmte Ignorierbedingung aufheben
  • Das Ignorieren einer bestimmten Abhängigkeit aufheben
  • Alle Ignoriert-Bedingungen für alle Abhängigkeiten in einer Dependabot Pullanforderung aufheben

Weitere Informationen finden Sie unter Verwalten von Pull Requests für Abhängigkeitsupdates.

Zulassen der Aktualisierung bestimmter Abhängigkeiten

Sie können allow verwenden, um Dependabot über die Abhängigkeiten zu informieren, die Sie verwalten möchten. allow wird in der Regel in Verbindung mit ignore verwendet.

Weitere Informationen findest du unter allow in Referenz zu Dependabot-Optionen.

Standardmäßig erstellt Dependabot Pullanforderungen für Versionsupdates nur für die Abhängigkeiten, die explizit in einem Manifest definiert sind (direct Abhängigkeiten). Diese Konfiguration verwendet allow, um Dependabot mitzuteilen, dass er Typen von Abhängigkeiten all beibehalten soll. Das heißt, sowohl die direct Abhängigkeiten als auch deren Abhängigkeiten (auch bekannt als indirekte Abhängigkeiten, Unterabhängigkeiten oder vorübergehende Abhängigkeiten). Darüber hinaus weist die Konfiguration an Dependabot , alle Abhängigkeiten mit einem Namen zu ignorieren, der dem Muster org.xwiki.* entspricht, da wir einen anderen Prozess zur Aufrechterhaltung dieser Abhängigkeiten haben.

Tipp

          Dependabot sucht nach allen **zulässigen** Abhängigkeiten und **filtert dann alle ignorierten** Abhängigkeiten aus. Wenn eine Abhängigkeit von einer **Allow-Anweisung** und einer **Ignore-Anweisung** abgeglichen wird, wird sie ignoriert.
YAML
version: 2
registries:
  # Helps find updates for non Maven Central dependencies
  maven-xwiki-public:
    type: maven-repository
    url: https://nexus.xwiki.org/nexus/content/groups/public/
    username: ""
    password: ""
  # Required to resolve xwiki-common SNAPSHOT parent pom
  maven-xwiki-snapshots:
    type: maven-repository
    url: https://maven.xwiki.org/snapshots
    username: ""
    password: ""
updates:
  - package-ecosystem: "maven"
    directory: "/"
    registries:
      - maven-xwiki-public
      - maven-xwiki-snapshots
    schedule:
      interval: "weekly"
    allow:
      # Allow both direct and indirect updates for all packages.
      - dependency-type: "all"
    ignore:
      # Ignore XWiki dependencies. We have a separate process for updating them
      - dependency-name: "org.xwiki.*"
    open-pull-requests-limit: 15

Ignorieren bestimmter Versionen oder Versionsbereiche

Du kannst versions in Verbindung mit ignore verwenden, um bestimmte Versionen oder Versionsbereiche zu ignorieren.

Weitere Informationen findest du unter versions in Referenz zu Dependabot-Optionen.

  • So ignorierst du eine bestimmte Version:

    YAML
    ignore:
      - dependency-name: "django*"
        # Ignore version 11
        versions: [ "11" ]
    
  • So ignorieren Sie einen Bereich von Versionen

    YAML
        ignore:
          - dependency-name: "@types/node"
            versions: ["15.x", "14.x", "13.x"]
          - dependency-name: "xdg-basedir"
            # 5.0.0 has breaking changes as they switch to named exports
            # and convert the module to ESM
            # We can't use it until we switch to ESM across the project
            versions: ["5.x"]
          - dependency-name: "limiter"
            # 2.0.0 has breaking changes
            # so we want to delay updating.
            versions: ["2.x"]
    

Angeben des zu ignorierenden Grads der semantischen Versionierung

Sie können eine oder mehrere semantische Versionsverwaltungsebenen (SemVer) angeben, die mit update-types``ignoreignoriert werden sollen.

Weitere Informationen findest du unter update-types in Referenz zu Dependabot-Optionen.

In diesem Beispiel Dependabot werden Patchversionen für Node ignoriert.

YAML
version: 2
updates:
  - package-ecosystem: "npm"
    directory: "/"
    schedule:
      interval: "daily"
    ignore:
      - dependency-name: "express"
        # For Express, ignore all updates for version 4 and 5
        versions: ["4.x", "5.x"]
        # For Lodash, ignore all updates
      - dependency-name: "lodash"
      - dependency-name: "@types/node"
        # For Node types, ignore any patch versions
        update-types: ["version-update:semver-patch"]

Definieren einer Versionsverwaltungsstrategie

Standardmäßig wird versucht, die Mindestversionsanforderung für Abhängigkeiten zu erhöhen, Dependabot die als Apps identifiziert werden, und erweitert die zulässigen Versionsanforderungen, um sowohl die neuen als auch die alten Versionen für Abhängigkeiten einzuschließen, die als Bibliotheken identifiziert werden.

Du kannst diese Standardstrategie ändern. Weitere Informationen findest du unter versioning-strategy in Referenz zu Dependabot-Optionen.

In diesem Beispiel wird Dependabot die Mindestversionsanforderung erhöht, um mit der neuen Version für sowohl Apps als auch Bibliotheken übereinzustimmen.

YAML
version: 2
updates:
  - package-ecosystem: npm
    directory: "/"
    schedule:
      interval: daily
    # Increase the minimum version for all npm dependencies
    versioning-strategy: increase

In diesem Beispiel wird Dependabot erhöht, **** wenn die ursprüngliche Einschränkung die neue Version nicht zulässt.

YAML
version: 2
updates:
- package-ecosystem: pip
  directory: "/"
  schedule:
    interval: daily
  open-pull-requests-limit: 20
  rebase-strategy: "disabled"
  # Increase the version requirements for pip
  # only when required
  versioning-strategy: increase-if-necessary

Aktualisieren anbieterspezifischer Abhängigkeiten

Sie können Dependabot anweisen, anbieterspezifische Abhängigkeiten beim Aktualisieren zu beachten.

          Dependabot verwaltet automatisch anbieterseitige Abhängigkeiten für Go-Module, und Sie können Bundler so konfigurieren, dass auch anbieterseitige Abhängigkeiten aktualisiert werden.

Weitere Informationen findest du unter vendor in Referenz zu Dependabot-Optionen.

In diesem Beispiel wird vendor für true 'Bundler' festgelegt, was bedeutet, dass Dependabot auch die Abhängigkeiten für Bundler verwalten wird, die im vendor/cache-Verzeichnis im Repository gespeichert sind.

YAML
version: 2
updates:
- package-ecosystem: bundler
  directory: "/"
  # Vendoring Bundler
  vendor: true
  schedule:
    interval: weekly
    day: saturday
  open-pull-requests-limit: 10