依存関係グラフの利用
依存関係グラフは、サポートされているパッケージエコシステムで、サポートされているファイル形式を使って、リポジトリごとに利用できます。
この機能を使えるようにするには、サイト管理者は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 の依存関係をリストする場合、プロジェクトの依存関係すべてを解析してリストすることはできない場合があります。
参考リンク
- Wikipedia の「Dependency graph」
- "Exploring the dependencies of a repository"