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

GitHub ホストランナーの仕様

GitHubは、ワークフローを実行するためのホストされた仮想マシンを提供します。 仮想マシンには、GitHub Actionsで使用できるツール、パッケージ、および設定の環境が含まれています。

GitHub ActionsはGitHub Free、GitHub Pro、GitHub FreeのOrganization、GitHub Team、GitHub Enterprise Cloud、GitHub Oneで利用できます。 GitHub Actionsは、レガシーのリポジトリごとのプランを使っているアカウントが所有しているプライベートリポジトリでは利用できません。 For more information, see "GitHub's products."

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

GitHubホストランナーについて

GitHubホストランナーはGitHub Actionsランナーアプリケーションがインストールされた、GitHubがホストする仮想マシンです。 GitHubは、Linux、Windows、macOSのランナーを提供します。

GitHubホストランナーを使用すると、マシンのメンテナンスとアップグレードが自動的に行われます。 ワークフローは、仮想マシンで直接実行することも、Dockerコンテナで実行することもできます。

ワークフローのジョブごとにランナーの種類を指定できます。 ワークフローの各ジョブは、仮想マシンの新しいインスタンスで実行されます。 ジョブ実行のステップはすべて、仮想マシンの同じインスタンスで実行されるため、そのジョブのアクションはファイルシステムを使用して情報を共有できます。

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

GitHubホストランナーのクラウドホスト

GitHubは、Microsoft AzureのStandard_DS2_v2仮想マシン上でGitHub ActionsランナーアプリケーションがインストールされたLinux及びWindowsランナーをホストします。 GitHubホストランナーアプリケーションは、Azure Pipelines Agentのフォークです。 インバウンドのICMPパケットはすべてのAzure仮想マシンでブロックされるので、pingやtracerouteコマンドは動作しないでしょう。 For more information about the Standard_DS2_v2 machine resources, see "Dv2 and DSv2-series" in the Microsoft Azure documentation.

GitHub hosts macOS runners in GitHub's own macOS Cloud.

GitHubホストランナーの管理権限

LinuxおよびmacOSの仮想環境は、パスワード不要のsudoにより動作します。 現在のユーザが持っているよりも高い権限が求められるコマンドやインストールツールを実行する必要がある場合は、パスワードを入力する必要なく、sudoを使うことができます。 詳しい情報については、「Sudo Manual」を参照してください。

Windowsの仮想マシンは、ユーザアカウント制御(UAC)が無効化されて管理者として動作するように設定されています。 詳しい情報については、Windowsのドキュメンテーションの「ユーザー アカウント制御のしくみ」を参照してください。

サポートされているランナーとハードウェアリソース

各仮想マシンで、同一のハードウェアリソースを使用できます。

  • 2コアCPU
  • 7 GBのRAMメモリー
  • 14 GBのSSDディスク容量
仮想環境YAMLのワークフローラベル
Windows Server 2019windows-latest or windows-2019
Ubuntu 20.04ubuntu-20.04
Ubuntu 18.04ubuntu-latestまたはubuntu-18.04
Ubuntu 16.04ubuntu-16.04
macOS Big Sur 11.0macos-11.0
macOS Catalina 10.15macos-latestもしくはmacos-10.15

ノート: Ubuntu 20.04仮想環境は、現在プレビューでのみ提供されています。 YAMLワークフローラベルのubuntu-latestは、引き続きUbuntu 18.04仮想環境を利用します。

Note: The macOS 11.0 virtual environment is currently provided as a preview only. The macos-latest YAML workflow label still uses the macOS 10.15 virtual environment.

ワークフローログには、ジョブの実行に使用されたランナーが一覧表示されます。 詳しい情報については、「ワークフロー実行の履歴を表示する」を参照してください。

サポートされているソフトウェア

GitHub ホストランナーに含まれているソフトウェアツールは毎週更新されます。 各ランナーオペレーティングシステム用に含まれるツールの最新のリストについては、以下のリンクを参照してください。

ノート: Ubuntu 20.04仮想環境は、現在プレビューでのみ提供されています。 YAMLワークフローラベルのubuntu-latestは、引き続きUbuntu 18.04仮想環境を利用します。

Note: The macOS 11.0 virtual environment is currently provided as a preview only. The macos-latest YAML workflow label still uses the macOS 10.15 virtual environment.

GitHubホストランナーには、オペレーティングシステムのデフォルトの組み込みツールに加え、上のリファレンスのリスト内のパッケージにが含まれています。 たとえば、Ubuntu及びmacOSのランナーには、grepfindwhichやその他のデフォルトのツールが含まれています。

ワークフローログには、ランナーにプリインストールされているツールへのリンクが含まれています。 詳しい情報については、「ワークフロー実行の履歴を表示する」を参照してください。

リクエストしたいツールがある場合、actions/virtual-environments で Issue を開いてください。

IP アドレス

ノート: GitHubのOrganizationもしくはEnterpriseアカウントでIPアドレスの許可リストを使っているなら、GitHubホストランナーは利用できず、代わりにセルフホストランナーを使わなければなりません。 詳しい情報については「セルフホストランナーについて」を参照してください。

Windows and Ubuntu runners are hosted in Azure and subsequently have the same IP address ranges as the Azure datacenters. macOS runners are hosted in GitHub's own macOS cloud.

To get a list of IP address ranges that GitHub Actions uses for GitHub-hosted runners, you can use the GitHub REST API . For more information, see the actions key in the response of the "Get GitHub meta information" endpoint. You can use this list of IP addresses if you require an allow-list to prevent unauthorized access to your internal resources.

The list of GitHub Actions IP addresses returned by the API is updated once a week.

ファイルシステム

GitHubは、仮想マシン上の特定のディレクトリでアクションとシェルコマンドを実行します。 仮想マシン上のファイルパスは静的なものではありません。 homeworkspaceworkflow ディレクトリのファイルパスを構築するには、GitHubが提供している環境変数を使用してください。

ディレクトリ環境変数説明
homeHOMEユーザ関連のデータが含まれます。 たとえば、このディレクトリにはログイン試行からの認証情報を含めることができます。
workspaceGITHUB_WORKSPACEアクションとシェルコマンドはこのディレクトリで実行されます。 このディレクトリの内容は、アクションによって変更することができ、後続のアクションでアクセスできます。
workflow/event.jsonGITHUB_EVENT_PATHワークフローをトリガーしたwebhookイベントのPOSTペイロード。 GitHubは、アクションを実行するたびにアクション間でファイルの内容を隔離するためにこれを書き換えます。

各ワークフローに対してGitHubが作成する環境変数のリストについては、「環境変数の利用」を参照してください。

Dockerコンテナのファイルシステム

Dockerコンテナで実行されるアクションには、 /githubパスの下に静的なディレクトリがあります。 ただし、Dockerコンテナ内のファイルパスを構築するには、デフォルトの環境変数を使用することを強くお勧めします。

GitHubは、/githubパス接頭辞を予約し、アクションのために3つのディレクトリを作成します。

  • /github/home
  • /github/workspace - ノート: GitHub ActionsはデフォルトのDockerユーザ(root)で実行しなければなりません。 DockerfileでUSER命令が設定されていないことを確認してください。使われていた場合には、GITHUB_WORKSPACEにアクセスできなくなります。
  • /github/workflow

参考リンク

Did this doc help you?

Privacy policy

Help us make these docs great!

All GitHub docs are open source. See something that's wrong or unclear? Submit a pull request.

Make a contribution

OR, learn how to contribute.