Skip to main content

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

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

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

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

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

Dependabot version updates について

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

セキュリティ更新とバージョン更新の比較についての依存ボットのプルリクエスト

          `dependabot.yml` 構成ファイルをリポジトリにチェックインして、Dependabot version updates を有効にします。

Dependabot とすべての関連する機能は、使用許諾契約でカバーされています。 詳細については、GitHub の Enterprise 顧客契約条件のページを参照してください。

パッケージの更新

          `dependabot.yml`構成ファイルは、マニフェストの場所、またはリポジトリに格納されている他のパッケージ定義ファイルの場所を指定します。 Dependabot ではこの情報を使用して、期限切れのパッケージとアプリケーションが検査されます。 Dependabot では、依存関係のセマンティック バージョニング ([semver](https://semver.org/)) を調べて、依存関係の新しいバージョンの有無が判断され、そのバージョンへ更新すべきかどうかが決定されます。 サポートされているリポジトリとエコシステムについては、「[AUTOTITLE](/code-security/dependabot/ecosystems-supported-by-dependabot/supported-ecosystems-and-repositories)」を参照してください。

特定のパッケージマネージャーでは、Dependabot version updates もベンダをサポートしています。 ベンダ (またはキャッシュ) された依存関係は、マニフェストで参照されるのではなく、リポジトリ内の特定のディレクトリにチェックインされる依存関係です。 パッケージサーバーが利用できない場合でも、ビルド時にベンダ依存関係を利用できます。 Dependabot version updates は、ベンダの依存関係をチェックして新しいバージョンを確認し、必要に応じて更新するように設定できます。

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

          _セキュリティ更新プログラム_ を有効にすると、Dependabot でも pull request が発行され、脆弱性のある依存関係を更新します。 詳しくは、「[AUTOTITLE](/code-security/dependabot/dependabot-security-updates/about-dependabot-security-updates)」をご覧ください。

アクションの更新

多くの場合、アクションはバグ修正と新機能で更新され、自動プロセスの信頼性、速度、安全性が向上しています。 GitHub Actions の Dependabot version updates を有効にすると、Dependabot は、リポジトリの workflow.yml ファイル内のアクションへの参照とワークフロー内で使用さえる再利用可能なワークフローが最新の状態に保ちます。

Dependabot では、ファイル内のアクションごとに、アクションのリファレンス (通常、アクションに関連付けられているバージョン番号またはコミット ID) が最新バージョンと参照されます。 より新しいバージョンのアクションが使用可能な場合、Dependabot によって、ワークフロー ファイル内のリファレンスを最新バージョンに更新する pull request が送信されます。

Dependabot は、ワークフロー ファイルで再利用可能なワークフローの使用をチェックし、再利用可能なワークフローと呼ばれる Git 参照を更新します。

この機能を有効にするには、 Dependabot でアクションを最新に保つ を参照してください。

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

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

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

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

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

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

スケジュールされた実行をスキップしてバージョンを更新します。

Dependabot updates

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

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

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

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