Skip to main content

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

GitHub Actions で Dependabot を実行すると、パフォーマンスが向上し、Dependabot ジョブの可視性と制御が向上します。

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

Organization owners and repository administrators can enable Dependabot on GitHub Actions.

Note

GitHub Actions で Dependabot を実行するようにオプトインする必要があります。 GitHub の今後のリリースでは、オプトインする機能が削除され、常に GitHub Actions で Dependabot が実行されます。 詳しくは、「GitHub Actions ランナーの Dependabot について」を参照してください。

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

既定では、Dependabot updates は、GitHub の組み込みの Dependabot アプリケーションを使用して実行されます。 代わりに、GitHub Actions で Dependabot updates を実行し、パフォーマンスを向上させ、Dependabot updates ジョブの可視性と制御を向上させることができます。

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

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

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

Azure Virtual Network (VNET) または Actions Runner Controller (ARC) のどちらかによるプライベート ネットワークの使用はサポートされていません。

Tip

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

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.com で、リポジトリのメイン ページへ移動します。

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

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

  3. サイドバーの [セキュリティ] セクションで、 [コードのセキュリティと分析] をクリックします。

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

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

[コードのセキュリティと分析] の Organization 設定ページを使って、組織内のすべての既存リポジトリに対して GitHub Actions の Dependabot を有効にできます。 次に Dependabot ジョブがトリガーされるときに、GitHub Actions で Dependabot を実行するように、次の構成のリポジトリのみが更新されます。

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

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

  1. GitHub の右上隅で、プロフィール写真を選択し、 あなたの組織をクリックします。1. 組織の隣の [設定] をクリックします。1. サイドバーの [セキュリティ] セクションで、 [コードのセキュリティと分析] をクリックします。>[!NOTE] Organization が security configurations と global settings パブリック ベータに登録されている場合は、[コード のセキュリティと分析] ではなく、[コード セキュリティ] ドロップダウン メニューが表示されます。 [コード セキュリティ] を選択し、[グローバル設定] をクリックします。 GitHub Actions で Dependabot を有効にする次の手順と、security configurations を使用した大規模なその他のセキュリティ機能については、「組織での GitHub で推奨されるセキュリティ構成の適用」を参照してください。

  2. [コード セキュリティ] 設定で [グローバル設定] を選択します。

  3. [Dependabot] の [アクション ランナーでの Dependabot] を選択して機能を有効にするか、選択解除して無効にします。

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

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

Note

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

  1. Organization へのより大きなランナー の追加 詳しくは、「より大きなランナーを管理する」を参照してください。
  2. dependabot ラベルを より大きなランナー に追加します。
  3. 必要に応じて、より大きなランナー dependabot を呼び出します。
  4. セルフホステッド ランナーに組織をオプトインします。 詳しくは、「セルフホステッド ランナーでの 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.com で、リポジトリのメイン ページへ移動します。

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

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

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

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

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

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

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

Dependabot security updates ジョブの再実行

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

Dependabot が既存のワークフローをトリガーするときのエラーのトラブルシューティング

GitHub.comに対して Dependabot の更新プログラムを設定した後、Dependabot イベントによって既存のワークフローがトリガーされるとエラーが発生することがあります。

既定では、pushpull_requestpull_request_review、または pull_request_review_comment のイベントから Dependabot によってトリガーされる GitHub Actions ワークフローの実行は、リポジトリ フォークから開かれたかのように扱われます。 他のアクターによってトリガーされるワークフローとは異なり、これは読み取り専用の GITHUB_TOKEN を受け取り、通常使用できるシークレットにはアクセスできないことを意味します。 これにより、Dependabot によってトリガーされたときに、リポジトリへの書き込みを試みるワークフローが失敗します。

この問題を解決するには、次の 3 つの方法があります。

  1. if: github.actor != 'dependabot[bot]' のような式を使用して、Dependabot によってトリガーされないようにワークフローを更新できます。 詳しくは、「」を参照してください。
  2. ワークフローを変更して、このような制限がない pull_request_target を含む 2 段階のプロセスを使用できます。 詳しくは、「GitHub ActionsでのDependabotの自動化」を参照してください。
  3. Dependabot のアクセスによってトリガーされるワークフローをシークレットに提供し、permissions という用語で GITHUB_TOKEN の既定のスコープを広げることができます。 詳細については、「GitHub ActionsでのDependabotの自動化」と「ギットハブ アクション のワークフロー構文」をご覧ください。