セルフホスト GitHub Actions ランナーの導入スクリプト
リポジトリとラベルを入力すると、専用ユーザーでランナーを導入してサービスとして起動するスクリプトが得られます。トークンはここではなく、サーバー上で入力します。
すべてブラウザ内で動作します。入力した内容が当社のサーバーに送られることはありません。
プライベートリポジトリ専用です。パブリックでは、フォークからの pull request があなたのサーバーでコードを実行する可能性があります。
実行手順
- GitHub で Settings → Actions → Runners → New self-hosted runner を開き、トークンをコピーします。
- スクリプトを Debian または Ubuntu のサーバーにコピーし、root で実行します:bash install-runner.sh
- スクリプトに聞かれたらトークンを貼り付けます。トークンはサーバーに留まり、このページを通りません。
- runs-on の行を workflow に追加します。
ランナー用のサーバーが必要ですか?Small プラン:4 vCPU、RAM 4 GB、root 権限、月額 8 ドル。
Small プランしくみ
セルフホストランナーはあなた自身のマシンで動きます。自分から GitHub に接続し、ジョブを受け取ってその場で実行します。スクリプトは必要なパッケージを入れ、専用の Linux ユーザーを作成し、最新のランナーをダウンロードして登録し、再起動後も動き続ける systemd サービスを設定します。スクリプトはブラウザー内で作られるので、実行前にすべての行を確認してください。サーバーに必要なのは GitHub への送信方向のアクセスだけで、専用 IP は不要です。
よくある質問
登録トークンはどこで取得できますか?
リポジトリで Settings → Actions → Runners → New self-hosted runner を開きます。トークンの有効期間は 1 時間です。組織全体のランナーの場合は、組織の設定で同じ手順をたどります。
セルフホストランナーをパブリックリポジトリで使えますか?
GitHub は推奨していません。フォークからの pull request があなたのサーバーでコードを実行する可能性があります。セルフホストランナーはプライベートリポジトリで使ってください。
サーバーに専用 IP は必要ですか?
いいえ。ランナーは GitHub への送信接続を開くだけなので、専用 IP のないプランで動きます。性能面では、多くのプロジェクトは 4 vCPU と RAM 4 GB で足ります。