Skip to main content

GitHub Dependabot のバージョンアップデートについて

Dependabot を使用して、使用するパッケージを最新バージョンに更新しておくことができます。

この機能を使用できるユーザーについて

Dependabot version updates は、次のリポジトリで使用できます。

  • GitHub のすべてのリポジトリ

Dependabot version updates について

Dependabot は、依存関係を維持する手間を省きます。 これを使用して、リポジトリが依存するパッケージおよびアプリケーションの最新リリースに自動的に対応できるようにすることができます。

サポートされているリポジトリとエコシステムについては、「Dependabot でサポートされているエコシステムとリポジトリ」を参照してください。

dependabot.yml 構成ファイルをリポジトリにチェックインして、Dependabot version updates を有効にします。 設定ファイルは、リポジトリに保存されているマニフェストまたは他のパッケージ定義ファイルの場所を指定します。 Dependabot ではこの情報を使用して、期限切れのパッケージとアプリケーションが検査されます。 Dependabot では、依存関係のセマンティック バージョニング (semver) を調べて、依存関係の新しいバージョンの有無が判断され、そのバージョンへ更新すべきかどうかが決定されます。 特定のパッケージマネージャーでは、Dependabot version updates もベンダーをサポートしています。 ベンダー (またはキャッシュ) された依存関係は、マニフェストで参照されるのではなく、リポジトリ内の特定のディレクトリにチェックインされる依存関係です。 パッケージサーバーが利用できない場合でも、ビルド時にベンダー依存関係を利用できます。 Dependabot version updates は、ベンダーの依存関係をチェックして新しいバージョンを確認し、必要に応じて更新するように設定できます。

Dependabot で以前の依存関係が特定されると、マニフェストを依存関係の最新バージョンに更新する pull request が発行されます。 ベンダーの依存関係の場合、Dependabot はプルリクエストを生成して、古い依存関係を新しいバージョンに直接置き換えます。 テストに合格したことを確認し、プルリクエストの概要に含まれている変更履歴とリリースノートを確認して、マージします。 詳しくは、「Dependabot のバージョン アップデートの設定」をご覧ください。

セキュリティ更新プログラム を有効にすると、Dependabot でも pull request が発行され、脆弱性のある依存関係を更新します。 詳しくは、「Dependabot のセキュリティ アップデート」をご覧ください。

Dependabot によって pull request が発生する場合、その pull request は、"セキュリティ" 更新プログラムか "バージョン" アップデートを対象としたものである可能性があります。

  • Dependabot security updates は、既知の脆弱性を持つ依存関係を更新するのに役立つ、自動化された pull request です。
  • Dependabot version updates は、依存関係に脆弱税がなくても、依存関係を最新の状態に維持する、自動化された pull request です。 バージョンアップデートの状態をチェックするには、リポジトリのInsights(インサイト)タブ、続いてDependency Graph(依存関係グラフ)、そしてDependabotにアクセスしてください。

Dependabot は、コミット署名がリポジトリの要件ではない場合でも、既定では独自のコミットに署名します。 検証済みコミットの詳細については、「コミット署名の検証について」を参照してください。

Dependabot によって開かれた pull request は、アクションを実行するワークフローをトリガーできます。 詳しくは、「GitHub ActionsでのDependabotの自動化」をご覧ください。

新しいリポジトリで Dependabot を有効にし、GitHub Actions を有効にすると、Dependabot は既定では GitHub Actions で実行されます。

新しいリポジトリで Dependabot を有効にした場合、GitHub Actions が無効になっていると、Dependabot は GitHub のレガシ アプリケーションで実行されて、Dependabot updates を実行します。 これにより、Dependabot updates ジョブのパフォーマンス、表示範囲、管理策は、GitHub Actions と同じようには提供されません。 Dependabot を GitHub Actions と共に使う場合は、リポジトリで GitHub Actions が有効なことを確認してから、リポジトリの [Advanced Security] 設定ページから [Dependabot on Actions runners] を有効にする必要があります。 詳しくは、「GitHub Actions ランナーの Dependabot について」を参照してください。

Dependabot とすべての関連する機能は、GitHub の利用規約でカバーされています。

Dependabot のプルリクエストの頻度

設定ファイルで、新しいバージョンの各エコシステムをチェックする頻度を、毎日、毎週、毎月の中から指定します。

最初にバージョンアップデートを有効にすると、古くなった依存関係が大量にあり、中には最新バージョンまでにいくつものバージョンが存在しているものもあるかもしれません。 Dependabotは、有効化されるとすぐに古くなった依存関係をチェックします。 設定が更新するマニフェストファイルの数に応じて、設定ファイルの追加後数分のうちに、バージョンアップデートの新しいプルリクウェストが発行されるかもしれません。 Dependabotは、設定ファイルに対するその後の変更に対しても更新を実行します。

プルリクウェストを管理可能でレビューしやすく保つために、Dependabotは依存関係を最新バージョンにし始めるためのプルリクウェストを最大で5つまで発行します。 次にスケジュールされているアップデートの前にこれらの最初のプルリクウェストの一部をマージした場合、残りのプルリクウェストは上限まで次のアップデート時にオープンとなります。 オープンプルリクウェストの最大数は、open-pull-requests-limit 構成オプションを設定することで変更できます。

表示される pull request の数をさらに減らすには、groups 構成オプションを使って、依存関係のセットを (パッケージ エコシステムごとに) グループ化することができます。 次に、Dependabot により、1 つの pull request が生成され、グループ内のできるだけ多くの依存関係が一度で最新バージョンに更新されます。詳しくは、「Dependabot バージョン更新プログラムに合わせて pull request の作成を最適化する」を参照してください。

セキュリティアップデートを有効にした場合、セキュリティアップデートの追加に対するプルリクエストが表示されることがあります。 これらは、デフォルト ブランチへの依存関係に対する Dependabot アラートによってトリガーされます。 Dependabot はプルリクエストを自動的に生成し、脆弱性のある依存関係を更新します。

構成ミスやバージョンに互換性がないために Dependabot の実行に失敗したと表示されることがあります。 実行の失敗回数が 15 回になると、依存関係グラフから更新チェックを手動でトリガーするまで、後続のスケジュール済み実行は Dependabot version updates によってスキップされます。 Dependabot security updates は、通常どおり、引き続き実行されます。

Dependabot updates

の自動非アクティブ化について

リポジトリのメンテナが Dependabot pull request の操作を停止すると、Dependabot はその更新を一時的に停止し、そのことが通知されます。「Dependabot 更新 pull request が生成されなくなりました」を参照してください。

Dependabot バージョン更新の通知について

GitHub で通知をフィルター処理して、Dependabot によって作成された pull request の通知を表示できます。 詳しくは、「インボックスからの通知を管理する」をご覧ください。