ドキュメントには頻繁に更新が加えられ、その都度公開されています。本ページの翻訳はまだ未完成な部分があることをご了承ください。最新の情報については、英語のドキュメンテーションをご参照ください。本ページの翻訳に問題がある場合はこちらまでご連絡ください。

このバージョンの GitHub Enterprise はこの日付をもって終了となりました: 2021-06-09. 重大なセキュリティの問題に対してであっても、パッチリリースは作成されません。 パフォーマンスの向上、セキュリティの改善、新機能のためには、最新バージョンのGitHub Enterpriseにアップグレードしてください。 アップグレードに関する支援については、GitHub Enterprise supportに連絡してください。

依存関係グラフについて

依存関係グラフ、それがサポートするエコシステム、およびリポジトリが依存するパッケージの決定方法についての詳細。

依存関係グラフの利用

依存関係グラフは、サポートされているファイル形式を使用して、サポートされているパッケージエコシステムの依存関係を定義するすべてのリポジトリで利用できます。

サイト管理者は、 この機能を使えるようにするには、GitHub Enterprise Serverのインスタンスの脆弱な依存関係に対するセキュリティアラートを有効化しなければなりません。 詳しい情報については、「GitHub Enterprise Serverの脆弱性のある依存関係に関するセキュリティアラートの有効化」を参照してください。

依存関係グラフについて

依存関係グラフは、リポジトリに保存されているマニフェストファイルおよびロックファイルのサマリーです。 リポジトリごとに、依存関係、つまり、それが依存しているエコシステムとパッケージが表示されます。 GitHub Enterprise Server は、リポジトリに依存している依存関係、リポジトリ、およびパッケージに関する情報を計算しません。

サポートされているマニフェストまたはロックファイルを変更する、またはデフォルトブランチに追加するコミットを GitHub Enterprise Server にプッシュすると、依存関係グラフが自動的に更新されます。 サポートされているエコシステムとマニフェストファイルについては、「サポートされているパッケージエコシステム」を参照してください。

含まれる依存関係

依存関係グラフには、サポートされているエコシステムについてマニフェストおよびロックファイル、または同等のもので詳細に定義されているリポジトリの依存関係がすべて含まれています。 これは以下のものが含まれます。

  • マニフェストまたはロックファイルで明示的に定義されている、直接依存関係
  • 直接依存関係の間接依存関係。推移的な依存関係、または下位の依存関係とも言う。

依存関係グラフは、間接的な依存関係を識別します。

依存関係グラフの使用

依存関係グラフを使用する目的は、次のとおりです。

依存関係グラフの有効化

システムで依存関係グラフを使用できない場合は、サイト管理者が依存関係グラフとセキュリティアラートを有効にできます。 詳しい情報については、「GitHub Enterprise Serverの脆弱性のある依存関係に関するセキュリティアラートの有効化」を参照してください。

依存関係グラフを初めて有効化すると、サポートされているエコシステムのマニフェストおよびロックファイルがすぐに解析されます。 グラフは通常数分以内に入力されますが、多くの依存関係を持つリポジトリの場合は時間がかかる場合があります。 有効にすると、リポジトリにプッシュするたびにグラフが自動的に更新されます。

サポートされているパッケージエコシステム

推奨されるフォーマットでは、直接および間接の依存関係すべてに使用されるバージョンを明示的に定義しています。 これらのフォーマットを使用したほうが、依存関係グラフは正確になります。 現在のビルドのセットアップも反映され、直接と間接のどちらの依存関係でも依存関係グラフで脆弱性をレポートできます。

以下にリストされているエコシステムは、依存関係グラフとセキュリティアラートでサポートされています。

パッケージマネージャー言語推奨されるフォーマットサポートされているすべてのフォーマット
ComposerPHPcomposer.lockcomposer.jsoncomposer.lock
dotnet CLI.NET 言語 (C#、C++、F#、VB).csproj.vbproj.nuspec.vcxproj.fsproj.csproj.vbproj.nuspec.vcxproj.fsprojpackages.config
MavenJava、Scalapom.xmlpom.xml
npmJavaScriptpackage-lock.jsonpackage-lock.jsonpackage.json
Python PIPPythonrequirements.txtpipfile.lockrequirements.txt, pipfile, pipfile.lock, setup.py*
RubyGemsRubyGemfile.lockGemfile.lockGemfile*.gemspec
YarnJavaScriptyarn.lockpackage.jsonyarn.lock

メモ: setup.py ファイルで Python の依存関係をリストする場合、プロジェクトの依存関係すべてを解析してリストすることはできない場合があります。

参考リンク

問題がまだ解決していませんか?

GitHubコミュニティで質問する サポートへの連絡