依赖关系图可用性
依赖关系图适用于使用支持的文件格式、以支持的包生态系统定义依赖项的每个仓库。
站点管理员必须先对 您的 GitHub Enterprise Server 实例 易受攻击的依赖项启用安全警报,然后您才可使用此功能。 更多信息请参阅“为 GitHub Enterprise Server 上易受攻击的依赖项启用安全警报”。
关于依赖关系图
The dependency graph is a summary of the manifest and lock files stored in a repository. For each repository, it shows dependencies, that is, the ecosystems and packages it depends on. GitHub Enterprise Server does not calculate information about dependents, the repositories and packages that depend on a repository.
When you push a commit to GitHub Enterprise that changes or adds a supported manifest or lock file to the default branch, the dependency graph is automatically updated. For information on the supported ecosystems and manifest files, see "Supported package ecosystems" below.
包含的依赖项
依赖关系图包括清单和锁定文件中详述的所有依赖项,或支持的生态系统的同等项。 这包括:
- 在清单或锁定文件中明确定义的直接依赖项
- 这些直接依赖项的间接依赖项,也称为过渡依赖项或子依赖项
The dependency graph identifies indirect dependencies from the lock files.
使用依赖关系图
您可以使用依赖关系图:
- Explore the repositories your code depends on. For more information, see "Exploring the dependencies of a repository."
- 查看和更新仓库中有漏洞的依赖项。 依赖关系图将有漏洞的依赖项列在其他依赖项前面。 更多信息请参阅“关于易受攻击的依赖项的警报”。
启用依赖关系图
如果依赖关系图在系统中不可用,则站点管理员可以启用依赖关系图和安全警报。 更多信息请参阅“为 GitHub Enterprise Server 上易受攻击的依赖项启用安全警报”。
首次启用依赖关系图时,将立即剖析受支持的生态系统的任何清单和锁定文件。 依赖关系图通常在几分钟之内填充,但对于依赖项很多的仓库,可能需要更长时间。 Once enabled, the graph is automatically updated with every push to the repository.
支持的包生态系统
建议的格式明确定义哪些版本用于所有直接和所有间接依赖项。 如果使用这些格式,则依赖关系图更准确。 It also reflects the current build set up and enables the dependency graph to report vulnerabilities in both direct and indirect dependencies.
包管理器 | 语言 | 建议的格式 | 所有支持的格式 |
---|
|
| dotnet
CLI | .NET 语言(C#、C++、F#、VB) | .csproj
、.vbproj
、.nuspec
、.vcxproj
、.fsproj
| .csproj
、.vbproj
、.nuspec
、.vcxproj
、.fsproj
、packages.config
|
| Maven | Java、Scala | pom.xml
| pom.xml
|
| npm | JavaScript | package-lock.json
| package-lock.json
、package.json
|
| Python PIP | Python | requirements.txt
、pipfile.lock
| requirements.txt
、pipfile.lock
、setup.py
|
| RubyGems | Ruby | Gemfile.lock
| Gemfile.lock
、Gemfile
、`.gemspec | | Yarn | JavaScript |
yarn.lock |
package.json、
yarn.lock` |
注:如果在 setup.py
文件中列出 Python 依赖项,我们可能无法剖析和列出项目中的每个依赖项。