Informationen zum Abhängigkeitsdiagramm
Das Abhängigkeitsdiagramm ist eine Zusammenfassung von Manifest- und Sperrdateien, die in einem Repository gespeichert sind. Für jedes Repository wird Folgendes angezeigt Abhängigkeiten, also die Ökosysteme und Pakete, von denen es abhängig ist. GitHub Enterprise Server berechnet weder Informationen zu abhängigen Elementen noch zu den Repositorys und Paketen, die von einem Repository abhängig sind.
Wenn du ein Commit mit Push an GitHub Enterprise Server überträgst, das eine unterstützte Manifest- oder Sperrdatei ändert oder dem Standardbranch hinzufügt, wird das Abhängigkeitsdiagramm automatisch aktualisiert. Informationen zu den unterstützten Ökosystemen und Manifestdateien findest du unter Unterstützte Paketökosysteme weiter unten.
Beim Erstellen eines Pull Requests, der Änderungen an Abhängigkeiten enthält und auf den Standardbranch abzielt, verwendet GitHub das Abhängigkeitsdiagramm, um Abhängigkeitsüberprüfungen zum Pull Request hinzuzufügen. Diese geben an, ob die Abhängigkeiten Sicherheitsrisiken enthalten und zeigen ggf. die Version der Abhängigkeit an, in der die Sicherheitsanfälligkeit behoben wurde. Weitere Informationen findest du unter Informationen zur Abhängigkeitsprüfung.
Verfügbarkeit von Abhängigkeitsdiagrammen
GitHub Enterprise-Besitzer können das Abhängigkeitsdiagramm und Dependabot alerts für ein Unternehmen konfigurieren. Weitere Informationen findest du unter Enabling the dependency graph for your enterprise und unter Enabling Dependabot for your enterprise.
Weitere Informationen zur Konfiguration des Abhängigkeitsdiagramms findest du unter Konfiguration des Abhängigkeitsdiagramms.
Abhängigkeiten enthalten
Das Abhängigkeitsdiagramm enthält alle Abhängigkeiten eines Repositorys, die im Manifest und in den Sperrdateien oder deren Entsprechung für unterstützte Ökosysteme. Dies schließt Folgendes ein:
- Direkte Abhängigkeiten, die explizit in einer Manifest- oder Sperrdatei definiert sind,
- Indirekte Abhängigkeiten dieser direkten Abhängigkeiten, auch bekannt als transitive Abhängigkeiten oder Unterabhängigkeiten bezeichnet
Das Abhängigkeitsdiagramm identifiziert indirekte Abhängigkeiten aus den Sperrdateien zu testen und zu debuggen.
Weitere Informationen dazu, wie GitHub Enterprise Server dabei hilft, die Abhängigkeiten in deiner Umgebung zu verstehen, findest du unter Informationen zur Sicherheit der Lieferkette.
Verwenden des Abhängigkeitsdiagramms
Du kannst das Abhängigkeitsdiagramm verwenden, um folgende Aktionen auszuführen:
- Erkunden der Repositorys, von denen dein Code abhängig ist,. Weitere Informationen findest du unter Untersuchen der Abhängigkeiten eines Repositorys.
- Anzeigen und Aktualisieren von sicherheitsanfälligen Abhängigkeiten für dein Repository. Weitere Informationen findest du unter Informationen zu Dependabot alerts.
- Informationen zu sicherheitsanfälligen Abhängigkeiten in Pull Requests. Weitere Informationen findest du unter Überprüfen von Abhängigkeitsänderungen in einem Pull Request.
Unterstützte Paket-Ökosysteme
Die empfohlenen Formate definieren explizit, welche Versionen für alle direkten und indirekten Abhängigkeiten verwendet werden. Wenn du diese Formate verwendest, ist dein Abhängigkeitsdiagramm genauer. Außerdem wird der aktuelle Build eingerichtet und ermöglicht es dem Abhängigkeitsdiagramm, Sicherheitsrisiken sowohl in direkten als auch indirekten Abhängigkeiten zu melden.
| Paket-Manager | Languages | Empfohlene Formate | Alle unterstützten Formate |
| --- | --- | --- | ---| | Composer | PHP | composer.lock
| composer.json
, composer.lock
| | NuGet | .NET-Programmiersprachen (C#, F#, VB), C++ | .csproj
, .vbproj
, .nuspec
, .vcxproj
, .fsproj
| .csproj
, .vbproj
, .nuspec
, .vcxproj
, .fsproj
, packages.config
| | GitHub Actions workflows [1] | YAML | .yml
, .yaml
| .yml
, .yaml
| | Go-Module | Go | go.sum
| go.mod
, go.sum
| | Maven | Java, Scala | pom.xml
| pom.xml
| | npm | JavaScript | package-lock.json
| package-lock.json
, package.json
| | pip | Python | requirements.txt
, pipfile.lock
| requirements.txt
, pipfile
, pipfile.lock
, setup.py
[2] | | Python Poetry | Python | poetry.lock
| poetry.lock
, pyproject.toml
| | RubyGems | Ruby | Gemfile.lock
| Gemfile.lock
, Gemfile
, *.gemspec
| | Yarn | JavaScript | yarn.lock
| package.json
, yarn.lock
|
[1]
Hinweis: Dieses Feature war in GitHub Enterprise Server 3.5.0, 3.5.1, 3.5.2 und 3.5.3 nicht verfügbar. Das Feature ist ab Version 3.5.4 verfügbar. Kontaktiere deinen Websiteadministratorin, wenn du weitere Informationen zu Upgrades benötigst.
Weitere Informationen zum Ermitteln der ausgeführten Version von GitHub Enterprise Server findest du unter Informationen zu Versionen der GitHub-Dokumentation.
GitHub Actions-Workflows müssen sich im Verzeichnis .github/workflows/
eines Repositorys befinden, um als Manifeste erkannt zu werden. Alle Aktionen oder Workflows, auf die mithilfe der Syntax jobs[*].steps[*].uses
oder jobs.<job_id>.uses
verwiesen wird, werden als Abhängigkeiten analysiert. Weitere Informationen findest du unter Workflowsyntax für GitHub Actions.
[2] Wenn du deine Python-Abhängigkeiten in einer setup.py
-Datei auflistest, können wir möglicherweise nicht alle Abhängigkeiten in deinem Projekt analysieren und auflisten.
Hinweis: GitHub Actions Workflowabhängigkeiten werden im Abhängigkeitsdiagramm zu Informationszwecken angezeigt. Dependabot-Warnungen werden für GitHub Actions-Workflows derzeit nicht unterstützt.