Skip to main content

エンタープライズでの Dependabot 更新プログラムのセルフホステッド ランナーの管理

エンタープライズ上のリポジトリで使用される依存関係をセキュリティで保護し、維持するための pull request を作成する目的で Dependabot によって使用される your GitHub Enterprise Server instance の専用ランナーを作成できます。

Note: Dependabot security and version updates are currently in private beta and subject to change. Please contact your account management team for instructions on enabling Dependabot updates.

Dependabot updates のセルフホステッド ランナーについて

Dependabot のセキュリティとバージョン更新プログラムを設定することで、your GitHub Enterprise Server instanceのユーザーが、セキュアなコードを作成して管理できるようにします。 Dependabot updatesを使用すると、開発者は、依存関係が自動的に更新されてセキュアな状態が維持されるようにリポジトリを構成できます。 詳細については、「エンタープライズでの Dependabot の有効化」を参照してください。

your GitHub Enterprise Server instance上で Dependabot updatesを使用するには、依存関係を更新する pull request を作成するようにセルフホステッド ランナーを構成する必要があります。

前提条件

Dependabot updates のセルフホステッド ランナーを構成する前に、次を行う必要があります。

Dependabot updates用のセルフホステッド ランナーの構成

your GitHub Enterprise Server instance が GitHub Actions を使用するように構成した後で、Dependabot updates用のセルフホステッド ランナーを追加する必要があります。

Dependabot ランナーのシステム要件

Dependabot ランナーのために使用する VM は、セルフホステッド ランナーの要件を満たす必要があります。 さらに、次の要件も満たしている必要があります。

  • Linux オペレーティング システム
  • Git がインストールされていること
  • Docker がランナー ユーザーのアクセス権を使用してインストールされていること:
    • Docker をルートレス モードでインストールし、root 権限なしで Docker にアクセスするようにランナーを構成することをお勧めします。
    • または、Docker をインストールしてから、Docker を実行するための昇格権限をランナー ユーザーに付与します。

CPU とメモリの要件は、特定の VM にデプロイする同時実行ランナーの数によって異なります。 ガイダンスとしては、1 台の 2 CPU 8 GB マシンに 20 台のランナーを正常に設定できました。ただし、最終的に CPU とメモリの要件は更新対象のリポジトリによって大きく異なります。 エコシステムによっては、他のエコシステムよりも多くのリソースが必要になります。

14 を超える同時実行ランナーを 1 つの VM に指定する場合は、Docker が作成できるネットワークの既定数を増やすように Docker の /etc/docker/daemon.json 構成も更新する必要があります。

{
  "default-address-pools": [
    {"base":"10.10.0.0/16","size":24}
  ]
}

Dependabot ランナーのネットワーク要件

Dependabot ランナーは、パブリック インターネット、GitHub.com、および Dependabot 更新プログラムで使用されるすべての内部レジストリへのアクセスが必要です。 内部ネットワークに対するリスクを最小限に抑えるには、仮想マシン (VM) から内部ネットワークへのアクセスを制限する必要があります。 これにより、ハイジャックされた依存関係をランナーがダウンロードした場合に、内部システムが損害を受ける可能性が減少します。

Dependabot 更新プログラム用のセルフホステッド ランナーの追加

  1. セルフホステッド ランナーを、リポジトリ、組織、またはエンタープライズ アカウント レベルでプロビジョニングします。 詳細については、「セルフホスト ランナーについて」および「セルフホスト ランナーの追加」を参照してください。

  2. 上記の要件を使用して、セルフホステッド ランナーを設定します。 たとえば、Ubuntu 20.04 を実行している VM では、次のようになります。

  3. dependabot ラベルを、Dependabot で使用する各ランナーに割り当てます。 詳細については、「セルフホステッド ランナーでのラベルの使用」を参照してください。

  4. 必要に応じて、Dependabot によってトリガーされるワークフローで、読み取り専用を上回るアクセス許可を使用し、通常提供されているシークレットにアクセスできるようにします。 詳細については、「エンタープライズでの GitHub Actions のトラブルシューティング」を参照してください。