Dependabot updates のセルフホステッド ランナーについて
Dependabot のセキュリティとバージョン更新プログラ� を設定することで、your GitHub Enterprise Server instance のユーザーが、安全なコードを作成して管理できるようにします。 Dependabot updatesを使用すると、開発者は、依存関係が自動的に更新されてセキュアな状態が維持されるようにリポジトリを構成できます。 詳細については、「エンタープライズでの Dependabot の有効化」を参照してく� さい。
your GitHub Enterprise Server instance 上で Dependabot updates を使うには、依存関係を更新する pull request を作成するようにセルフホステッド ランナーを構成する必要があります。
前提条件
Dependabot updates のセルフホステッド ランナーを構成する前に、次を行う必要があります。
- セルフホステッド ランナーで GitHub Actions を使うように your GitHub Enterprise Server instance を構成します。 詳細については、「GitHub Enterprise Server の GitHub Actions の概要」を参照してく� さい。
- エンタープライズでの Dependabot alerts を有効化します。 詳細については、「エンタープライズでの Dependabot の有効化」を参照してく� さい。
Dependabot updates用のセルフホステッド ランナーの構成
GitHub Actions を使うように your GitHub Enterprise Server instance を構成した後で、Dependabot updates 用のセルフホステッド ランナーを追� する必要があります。
Dependabot ランナーのシステ� 要件
Dependabot ランナーのために使用する VM は、セルフホステッド ランナーの要件を満たす必要があります。 さらに、次の要件も満たしている必要があります。
- Linux オペレーティング システ�
- x64 アーキテクチャ
- Git がインストールされていること
- Docker がランナー ユーザーのアクセス権を使用してインストールされていること:
- Docker をルートレス モードでインストールし、
root
権限なしで Docker にアクセスするようにランナーを構成することをお勧めします。 - または、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 更新プログラ� 用のセルフホステッド ランナーの追�
-
セルフホステッド ランナーを、リポジトリ、組織、またはエンタープライズ アカウント レベルでプロビジョニングします。 詳細については、「セルフホスト ランナーについて」および「セルフホスト ランナーの追� 」を参照してく� さい。
-
上記の要件を使用して、セルフホステッド ランナーを設定します。 たとえば、Ubuntu 20.04 を実行している VM では、次のようになります。
- Git がインストールされていることを確認します。
command -v git
- Docker をインストールし、ランナー ユーザーが Docker にアクセスできることを確認します。 詳細については、Docker のドキュメントをご覧く� さい。
- ランナーがパブリック インターネットにアクセスできることと、Dependabot が必要とする内部ネットワークのみにアクセスできることを確認します。
- Git がインストールされていることを確認します。
-
dependabot
ラベルを、Dependabot で使用する各ランナーに割り当てます。 詳細については、「セルフホステッド ランナーでのラベルの使用」を参照してく� さい。 -
必要に応じて、Dependabot によってトリガーされるワークフローで、読み取り専用を上回るアクセス許可を使用し、通常提供されているシークレットにアクセスできるようにします。 詳細については、「エンタープライズでの GitHub Actions のトラブルシューティング」を参照してく� さい。