Skip to main content

GitHub Actions ランナーの Dependabot について

GitHub は、リポジトリに対して GitHub Actions が有効になっている場合、Dependabot pull request を GitHub Actions で自動的に実行します。

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

GitHub Actions の Dependabot は、GitHub Actions が有効になっているすべてのリポジトリに対して既定で有効になっています

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 を有効にしてから、リポジトリの [Code security] 設定ページから [Dependabot on Actions runners] を有効にする必要があります。

Note

GitHub の今後のリリースでは、GitHub Actions を使用して常に Dependabot が実行されます。この設定を有効または無効にするオプションはなくなります。

GitHub Actions ランナーを使用すると、Dependabot ジョブ エラーをより簡単に識別し、失敗した実行を手動で検出してトラブルシューティングすることができます。 また、Dependabot を CI/CD パイプラインに統合するには、GitHub Actions API と Webhook を使用して、失敗した実行などの Dependabot ジョブの状態を検出し、ダウンストリーム処理を実行します。 詳細については、「GitHub Actions 用の REST API エンドポイント」および「Webhook のイベントとペイロード」を参照してください。

Note

Dependabot を GitHub ホステッド ランナーおよびセルフホステッド ランナーで実行しても、含まれている GitHub Actions 分にはカウントされません。 詳しくは、「GitHub Actions の課金について」をご覧ください。

以下を使用して、GitHub Actions で Dependabot を実行できます:

  • GitHub ホスト ランナー
  • より大きなランナー。 これらのランナーは GitHub でホストされており、RAM、CPU、ディスク領域などの高度な機能が備わっています。 詳しくは、「より大きなランナーの使用」をご覧ください。
  • セルフホステッド ランナー

Note

Dependabot では、Azure Virtual Network (VNET) または Actions Runner Controller (ARC) でのプライベート ネットワークの使用はサポートされていません。

GitHub Actions で Dependabot を有効にすると、アカウントで実行される同時実行のジョブ数が増える可能性があります。 企業プランのお客様は、必要に応じて、同時実行ジョブの上限を上げることを要求できます。 詳細については、GitHub Support ポータルにアクセスするか、または営業担当者にお問い合わせください。

GitHub Actions ランナーの Dependabot の使用に移行し、組織またはリポジトリのプライベート リソースへのアクセスを制限する場合は、許可されている IP アドレスの一覧を更新する必要がある場合があります。 たとえば、現在、プライベート リソースへのアクセスを Dependabot が使用する IP アドレスに制限している場合は、meta API エンドポイントから取得された GitHub ホスト ランナーの IP アドレスを使用するように許可リストを更新する必要があります。 詳しくは、「メタデータ用 REST API エンドポイント」をご覧ください。

GitHub ホスト ランナーの Dependabot の有効化または無効化

このセクションは、標準の GitHub ホスト ランナーにのみ適用され、より大きなランナーには適用されません。

ユーザー アカウントまたは組織で作成した新しいリポジトリは、次のいずれかに該当する場合、GitHub Actions で Dependabot を実行するように自動的に構成されます。

  • Dependabot がインストールされ、有効になり、GitHub Actions が有効になり、使用中です。
  • 組織の [GitHub Actions ランナーの Dependabot] 設定が有効になっています。

既存のリポジトリでは、次のように GitHub Actions で Dependabot を実行することをオプトインできます。

GitHub の今後のリリースでは、GitHub Actions での Dependabot の実行を無効にする機能が削除されます。

組織またはリポジトリのプライベート リソースへのアクセスを制限する場合は、GitHub Actions ランナーの Dependabot を有効にする前に許可されている IP アドレスの一覧を更新する必要があります。 メタ REST API エンドポイントから取得された GitHub ホスト ランナー IP アドレス (Dependabot IP アドレスの代わりに) を使用するように、IP 許可一覧を更新できます。

Warning

プライベート レジストリへの認証では、GitHub Actions IP アドレスに依存しないでください。 これらの GitHub Actions アドレスは、GitHub によってのみ使用されるだけでなく、認証に対して信頼されるべきではありません。 代わりに、セルフホステッド ランナーを使用して、ネットワーク アクセスをより詳細に制御します。 詳しくは、「セルフホステッド ランナーでの Dependabot の管理」をご覧ください。

[GitHub Actions ランナーの Dependabot] 設定を無効にして再度有効にしても、新しい Dependabot の実行はトリガーされません。

リポジトリでの有効化または無効化

パブリック リポジトリ、またはプライベート リポジトリの GitHub Actions の Dependabot を管理できます。

  1. GitHub で、リポジトリのメイン ページに移動します。

  2. リポジトリ名の下にある [設定] をクリックします。 [設定] タブが表示されない場合は、 [] ドロップダウン メニューを選び、 [設定] をクリックします。

    タブを示すリポジトリ ヘッダーのスクリーンショット。 [設定] タブが濃いオレンジ色の枠線で強調表示されています。

  3. サイドバーの [Security] セクションで、[ Code security] をクリックします。

  4. [Dependabot] の [アクション ランナーでの Dependabot] の右側にある [有効] または [無効] をクリックして、機能を有効または無効にします。

組織での有効化または無効化

組織内のすべての既存リポジトリに対して GitHub Actions の Dependabot を有効にできます。

次に Dependabot ジョブがトリガーされるときに、GitHub Actions で Dependabot を実行するように、次の構成のリポジトリのみが更新されます。

  • リポジトリでは Dependabot は有効です。
  • リポジトリでは GitHub Actions は有効です。

組織内のリポジトリで Dependabot が有効になっていて、GitHub Actions が無効になっている場合、Dependabot は GitHub Actions では実行されませんが、組み込みの Dependabot アプリケーションを使用して引き続き実行されます。

  1. GitHub の右上隅で、プロフィール写真を選択し、 あなたの組織をクリックします。
  2. 組織の隣の [設定] をクリックします。
  3. サイドバーの [セキュリティ] セクションで、[ コードのセキュリティ][グローバル設定] をクリックしてください。
  4. [Dependabot] の [アクション ランナーでの Dependabot] を選択して機能を有効にするか、選択解除して無効にします。

詳しくは、「組織のグローバル セキュリティ設定の構成」をご覧ください。

より大きなランナー (larger runner) での Dependabot の有効化または無効化

Dependabot タイムアウトとメモリ不足エラーが発生した場合は、これらのランナーをより多くのリソースを持つよう構成できるため、より大きなランナー (larger runner) を使用できます。

Note

_組織レベル_で、Dependabot に対してのみ より大きなランナー (larger runner) を有効にできます。 GitHub は、通常のアクション ランナー価格で組織に課金されます。 詳しくは、「GitHub Actions の課金について」をご覧ください。

  1. より大きなランナー を Organization に追加し、指定した名前が dependabot であることを確認します。 詳しくは、「より大きなランナーを管理する」をご覧ください。
  2. セルフホステッド ランナーに組織をオプトインします。 詳しくは、「セルフホステッド ランナーでの Dependabot の管理」をご覧ください。 この手順は必須です。将来の Dependabot ジョブが、dependabot という名前を持つ大きな GitHub ホステッド ランナーで実行されるようにするためです。

GitHub Actions ランナーの Dependabot の管理

GitHub Actions ジョブの Dependabot を実行すると、Dependabot ジョブ ログから直接ワークフローの実行履歴を確認できます。 詳しくは、「Dependabot ジョブ ログの表示」をご覧ください。

リポジトリの [アクション] タブから Dependabot ワークフロー実行に移動することもできます。 詳しくは、「ワークフロー実行の履歴を表示する」をご覧ください。

Dependabot version updates ジョブまたは Dependabot security updates ジョブを再実行するには、次の適切な手順を使用します。 Dependabot ジョブを GitHub Actions で再実行することはできません。これは、他の GitHub Actions ワークフローやジョブの場合と同様です。つまり、リポジトリの [アクション] タブを使用します。 Dependabot updates ワークフローとジョブの利用状況データは、組織の GitHub Actions 使用状況メトリックで表示できません。

Dependabot version updates ジョブの再実行

  1. GitHub で、リポジトリのメイン ページに移動します。

  2. リポジトリ名の下にある [分析情報] をクリックします。

    リポジトリのメイン ページのスクリーンショット。 水平ナビゲーション バーでは、グラフ アイコンと [分析情報] というラベルが付いたタブが、濃いオレンジ色の枠線で囲まれています。

  3. 左側のサイドバーで、 [Dependency graph] (依存関係グラフ) をクリックします。

    [依存関係グラフ] タブのスクリーンショット。タブはオレンジ色の枠線で強調されています。

  4. [依存関係グラフ] で、 [Dependabot] をクリックします。

  5. 関心のあるマニフェスト ファイルの名前の右側にある [最近使用した更新ジョブ] をクリックします。

  6. 影響を受けるマニフェスト ファイルの右側にある [更新プログラムの確認] をクリックして Dependabot version updates ジョブを再実行し、そのエコシステムの依存関係に対する新しい更新プログラムをチェックします。

Dependabot security updates ジョブの再実行

  1. GitHub で、リポジトリのメイン ページに移動します。
  2. リポジトリ名の下にある [セキュリティ] をクリックします。
  3. 左側のサイドバーの [脆弱性アラート] で、[Dependabot] をクリックします。
  4. [Dependabot]で、表示するアラートをクリックします。
  5. アラートのエラーの詳細が表示されているセクションで、[再試行] をクリックして Dependabot security updates ジョブを再実行します。

参考資料