ドキュメントには頻繁に更新が加えられ、その都度公開されています。本ページの翻訳はまだ未完成な部分があることをご了承ください。最新の情報については、英語のドキュメンテーションをご参照ください。本ページの翻訳に問題がある場合はこちらまでご連絡ください。

セルフホストランナーについて

独自のランナーをホストして、GitHub Actionsワークフロー中でジョブの実行に使われる環境をカスタマイズできます。

ここには以下の内容があります:

セルフホストランナーについて

ノート: 現在、セルフホストランナーを追加できるのは単一のリポジトリです。 Organization全体にセルフホストランナーを追加して管理する機能は、将来のリリースに搭載されます。

セルフホストランナーでは、ハードウェア、オペレーティングシステム、ソフトウェアツールについてGitHubホストランナーよりもコントロールできます。 セルフホストランナーでは、大規模なジョブを実行するために処理能力やメモリを強化したカスタムハードウェア構成を作ったり、ローカルネットワークで利用できるソフトウェアをインストールしたり、GitHubホストランナーでは提供されていないオペレーティングシステムを選択したりできます。 セルフホストランナーは、物理、仮想、コンテナ、オンプレミス、クラウドのいずれでも可能です。

GitHub Actionsランナーアプリケーションはオープンソースです。 runnerリポジトリに貢献し、Issueを登録できます。

セルフホストランナーのインストールと利用に関する詳しい情報については「セルフホストランナーの追加」及び「ワークフロー内でのセルフホストランナーの利用」を参照してください。

GitHubホストランナーとセルフホストランナーの違い

GitHubホストランナーは、ワークフローを素早くシンプルに実行する方法を提供しますが、セルフホストランナーはユーザのカスタム環境内でワークフローを実行する、設定の幅が広い方法です。

GitHubホストランナーは:

  • 自動的に更新されます。
  • GitHubによって管理及びメンテナンスされます。
  • ジョブの実行のたびにクリーンなインスタンスを提供します。
  • GitHubプランの無料の分を使います。無料の分を超えると、分単位のレートが適用されます。

セルフホストランナーは:

  • すでに支払いをしているクラウドサービスあるいはローカルマシンを利用できます。
  • 利用するハードウェア、オペレーティングシステム、ソフトウェア、セキュリティ上の要求に合わせてカスタマイズできます。
  • ジョブの実行のたびにクリーンなインスタンスを保持する必要がありません。
  • GitHub Actionsと合わせて無料で利用できますが、ランナーマシンのメンテナンスコストはあなたが受け持ちます。

セルフホストランナーマシンに対する要求

以下の要求を満たしていれば、いかなるマシンもセルフホストランナーとして利用できます。

  • You can install and run the self-hosted runner application on the machine. 詳しい情報については「セルフホストランナーでサポートされるオペレーティングシステム」を参照してください。
  • そのマシンがGitHub Actionsと通信できる。 詳しい情報については「セルフホストランナーとGitHubの通信」を参照してください。
  • そのマシンが、実行しようとしている種類のワークフローに対して十分なハードウェアリソースを持っていること。 The self-hosted runner application itself only requires minimal resources.
  • Dockerコンテナアクションあるいはサービスコンテナを使うワークフローを実行したいなら、Linuxのマシンを使い、Dockerがインストールされていなければなりません。
  • If you want to run workflows that use JavaScript actions, you must install Node.js on your runner machine.

セルフホストランナーをサポートするオペレーティングシステム

セルフホストランナーアプリケーション用には、以下のオペレーティングシステムがサポートされています。

Linux

  • Red Hat Enterprise Linux 7
  • CentOS 7
  • Oracle Linux 7
  • Fedora 29以降
  • Debian 9以降
  • Ubuntu 16.04以降
  • Linux Mint 18以降
  • openSUSE 15以降
  • SUSE Enterprise Linux (SLES) 12 SP2以降

Windows

  • Windows 7 64-bit
  • Windows 8.1 64-bit
  • Windows 10 64-bit
  • Windows 10 64-bit
  • Windows Server 2016 64-bit
  • Windows Server 2019 64-bit

MacOS

  • macOS 10.13 (High Sierra)以降

セルフホストランナーとGitHubとの通信

セルフホストランナーアプリケーションは、ジョブに関する情報をGitHubと通信します。 アプリケーションは、GitHub Actionsジョブを受け付けて実行するためにマシン上で動作していなければなりません。

セルフホストランナーアプリケーションは、インバウンド及びアウトバウンドのトラフィックについて、HTTPSプロトコルを使ってGitHubと通信します。 マシンには、GitHubと通信するための適切なネットワークアクセスを持たせなければなりません。

If you use an IP address allow list for your GitHub organization or enterprise account, you must add your self-hosted runner's IP address to the allow list. For more information, see "Managing allowed IP addresses for your organization" or "Enforcing security settings in your enterprise account".

セルフホストランナーは、プロキシサーバーと合わせて使うこともできます。 詳しい情報については「セルフホストランナーと合わせてプロキシサーバーを使う」を参照してください。

パブリックリポジトリでのセルフホストランナーのセキュリティ

パブリックリポジトリでは、セルフホストランナーを使わないことをおすすめします。

パブリックリポジトリのフォークでは、ワークフロー中のコードを実行するプルリクエストが作成されると、セルフホストランナー上で危険なコードが実行される可能性があります。

それぞれのGitHubホストランナーは常にクリーンな隔離された仮想マシンになり、ジョブの実行が終わると破棄されるので、GitHubホストランナーではこれは問題にはなりません。

あなたのセルフホストランナー上で実行される信頼できないワークフローは、あなたのマシンやネットワーク環境に大きなセキュリティリスクをもたらします。これは特に、マシンがジョブにまたがって環境を保持する場合に当てはまります。 リスクには以下のようなものがあります。

  • マシン上での悪意あるプログラムの実行
  • マシンのランナーのサンドボックスからの脱却
  • マシンのネットワーク環境へのアクセスの露出
  • 望まないもしくは危険なデータのマシン上への保存

担当者にお尋ねください

探しているものが見つからなかったでしょうか?

弊社にお問い合わせください