Skip to main content
ドキュメントへの更新が頻繁に発行されており、このページの翻訳はまだ行われている場合があります。 最新の情報については、「英語のドキュメント」を参照してください。

このバージョンの GitHub Enterprise はこの日付をもって終了となりました: 2023-03-15. 重大なセキュリティの問題に対してであっても、パッチリリースは作成されません。 パフォーマンスの向上、セキュリティの向上、新機能の向上を図るために、最新バージョンの GitHub Enterprise にアップグレードします。 アップグレードに関するヘルプについては、GitHub Enterprise サポートにお問い合わせください

依存関係グラフについて

依存関係グラフを使って、プロジェクトの依存関係をすべて特定できます。 依存関係グラフは、幅広く一般的なパッケージエコシステムをサポートします。

依存関係グラフについて

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

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

デフォルトブランチをターゲットとする、依存関係の変更を含むPull Requestを作成すると、GitHubは依存関係グラフを使ってそのPull Requestに依存関係のレビューを追加します。 それらは、依存関係が脆弱性を含んでいるか、もしそうならその脆弱性が修復されているバージョンを示しています。 詳しくは、「依存関係の確認について」を参照してください。

依存関係グラフの利用

Enterprise の所有者は、エンタープライズの依存関係グラフと Dependabot alerts を構成できます。 詳細については、「企業の依存関係グラフの有効化」と「エンタープライズ向けの Dependabot の有効化」を参照してください。

依存関係グラフの構成について詳しくは、「依存関係グラフを設定する」をご覧ください。

含まれる依存関係

依存関係グラフには、マニフェストとロック ファイルで詳しく説明されているリポジトリのすべての依存関係、またはサポートされているエコシステム を使用して送信されたすべての依存関係が含まれます。 これには次のものが含まれます

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

依存関係グラフでは、ロックファイルから間接的な依存関係を識別します。

GitHub Enterprise Server を使用して環境内の依存関係を理解する方法の詳細については、「サプライ チェーンのセキュリティについて」を参照してください。

依存関係グラフの使用

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

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

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

| パッケージ マネージャー | 言語 | 推奨される形式 | サポートされているすべての形式 | | --- | --- | --- | ---| | Composer | PHP | composer.lock | composer.json, composer.lock | | NuGet | .NET 言語 (C#、F#、VB)、C++ | .csproj.vbproj.nuspec.vcxproj.fsproj | .csproj.vbproj.nuspec.vcxproj.fsprojpackages.config | | Go モジュール | Go | go.mod| go.modgo.sum | | Maven | Java, Scala | pom.xml | pom.xml | | npm | JavaScript | package-lock.json | package-lock.jsonpackage.json| | pip | Python | requirements.txtpipfile.lock | requirements.txtpipfilepipfile.locksetup.py[2] | | Python Poetry | Python | poetry.lock | poetry.lockpyproject.toml | | RubyGems | Ruby | Gemfile.lock | Gemfile.lockGemfile*.gemspec | | Yarn | JavaScript | yarn.lock | package.jsonyarn.lock |

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

参考資料