セキュリティ更新のプルリクエスト
セキュリティ更新プログラムを有効にした場合、セキュリティ更新プログラムのプル要求は、既定のブランチへの依存関係に対する Dependabot アラートによってトリガーされます。 Dependabot では、脆弱な依存関係を更新するためのプル要求が自動的に発生します。
各プルリクエストには、提案された修正を迅速かつ安全に確認してプロジェクトにマージするために必要なすべてのものが含まれています。 これには、リリースノート、変更ログエントリ、コミットの詳細などの脆弱性に関する情報が含まれます。 プル要求が解決する脆弱性の詳細は、リポジトリの Dependabot alerts にアクセスできないユーザーには表示されません。
セキュリティ更新プログラムを含むプル要求をマージすると、対応する Dependabot アラートがリポジトリに対して解決済みとしてマークされます。 pull request の Dependabot の詳細については、「 依存関係の更新に関するPull Requestを管理する」を参照してください。
メモ
自動テストと受け入れプロセスを用意しておいて、pull request がマージされる前にチェックが実行されるようにすることをお勧めします。 これは特に、アップグレードが提案されたバージョンに追加機能があったり、プロジェクトのコードを破壊するような変更がある場合に重要です。 継続的インテグレーションの詳細については、「継続的インテグレーション」を参照してください。
セキュリティ更新プログラムのプル要求のカスタマイズ
Dependabotがセキュリティ更新プログラムのプル要求を発生させる方法をカスタマイズして、プロジェクトのセキュリティの優先順位とプロセスに最も適するようにすることができます。 例えば次が挙げられます。
- 複数Dependabot更新を 1 つのプル要求にグループ化して、意味のある更新に優先順位を付けるためにプル要求を最適化します。
- カスタム ラベルを適用して 、 Dependabotのプル要求を既存の ワークフローに統合します。
バージョン更新プログラムと同様に、セキュリティ更新プログラム用のカスタマイズ オプションは dependabot.yml ファイルで定義します。
dependabot.yml をバージョン更新プログラム用に既にカスタマイズしている場合、定義済み構成オプションの多くがセキュリティ更新プログラムにも自動的に適用されます。 ただし、注意すべき重要な点がいくつかあります。
- Dependabot security updatesは、バージョン更新用の
dependabot.ymlで設定したscheduleに従って実行されるのではなく、常にセキュリティ アドバイザリによってトリガーされます。 - Dependabot は、既定のブランチに対してのみ、セキュリティ更新プログラムのプル リクエストを作成します。 構成で
target-branchの値を設定している場合、そのパッケージ エコシステムのカスタマイズは、既定でバージョン更新プログラムにのみ適用されます。
詳細については、「Dependabot セキュリティ更新プログラム用に pull request をカスタマイズする」を参照してください。
バージョン更新のプル要求
バージョンの更新では、構成ファイル内の新しいバージョンの各エコシステムを確認する頻度を指定します (日単位、週単位、月単位)。
最初にバージョンアップデートを有効にすると、古くなった依存関係が大量にあり、中には最新バージョンまでにいくつものバージョンが存在しているものもあるかもしれません。 Dependabotは、有効化されるとすぐに古くなった依存関係をチェックします。 設定が更新するマニフェストファイルの数に応じて、設定ファイルの追加後数分のうちに、バージョンアップデートの新しいプルリクウェストが発行されるかもしれません。 Dependabotは、設定ファイルに対するその後の変更に対しても更新を実行します。
プルリクウェストを管理可能でレビューしやすく保つために、Dependabotは依存関係を最新バージョンにし始めるためのプルリクウェストを最大で5つまで発行します。 次にスケジュールされているアップデートの前にこれらの最初のプルリクウェストの一部をマージした場合、残りのプルリクウェストは上限まで次のアップデート時にオープンとなります。 オープンプルリクウェストの最大数は、open-pull-requests-limit 構成オプションを設定することで変更できます。
表示される pull request の数をさらに減らすには、groups 構成オプションを使って、依存関係のセットを (パッケージ エコシステムごとに) グループ化することができます。 次に、Dependabot により、1 つの pull request が生成され、グループ内のできるだけ多くの依存関係が一度で最新バージョンに更新されます。 詳細については、 AUTOTITLE を参照してください。
Dependabot プル リクエスト用のコマンド
Dependabot は、コメント内の単純なコマンドに応答します。 各プルリクエストの「Dependabot コマンドとオプション」セクションには、プルリクエストの処理に使用できるコマンド(たとえば、プルリクエストのマージ、スカッシュ、再オープン、クローズ、またはリベース)の詳細が記載されています。 これらの自動生成されたPull Requestをできるだけ簡単にトリアージできるようにすることが目的です。 詳細については、「Dependabotのプルリクエストコメントコマンド」を参照してください。