このバージョンの GitHub Enterprise はこの日付をもって終了となりました: 2021-09-23. 重大なセキュリティの問題に対してであっても、パッチリリースは作成されません。 パフォーマンスの向上、セキュリティの改善、新機能のためには、最新バージョンのGitHub Enterpriseにアップグレードしてください。 アップグレードに関する支援については、GitHub Enterprise supportに連絡してください。

About GitHub-hosted runners

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

ノート: GitHub Actionsは、GitHub Enterprise Server 2.22で限定ベータとして利用可能でした。 ベータは終了しました。 GitHub Actionsは、GitHub Enterprise Server 3.0以降で一般に利用可能になりました。 詳しい情報については、GitHub Enterprise Server 3.0 のリリースノートを参照してください。


ノート: GitHubホストランナーは、現在GitHub Enterprise Serverでサポートされていません。 GitHubパブリックロードマップで、計画されている将来のサポートに関する詳しい情報を見ることができます。

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コマンドは動作しないでしょう。 Standard_DS2_v2マシンのリソースに関する詳しい情報については、Microsoft Azureドキュメンテーションの「Dv2 and DSv2シリーズ」を参照してください。

GitHubは、GitHub自身macOS Cloud内でmacOSランナーをホストします。

Workflow continuity for GitHub-hosted runners

GitHub Actionsサービスが一時的に利用できなくなっている場合、ワークフローの実行はトリガーされてから30分以内にキューイングされていなければ、破棄されます。 たとえば、ワークフローがトリガーされ、そしてGitHub Actionsサービスが31分以上利用できなければ、そのワークフローの実行は処理されません。

In addition, if the workflow run has been successfully queued, but has not been processed by a GitHub-hosted runner within 45 minutes, then the queued workflow run is discarded.

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

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

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

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

Windows および Linux 仮想マシンのハードウェア仕様:

  • 2コアCPU
  • 7 GBのRAMメモリー
  • 14 GBのSSDディスク容量

macOS 仮想マシンのハードウェア仕様:

  • 3コアCPU
  • 14 GBのRAMメモリー
  • 14 GBのSSDディスク容量
仮想環境 YAMLのワークフローラベル 注釈
Windows Server 2022[beta] windows-2022 The windows-latest label currently uses the Windows Server 2019 runner image.
Windows Server 2019 windows-latestもしくはwindows-2019
Windows Server 2016 windows-2016
Ubuntu 20.04 ubuntu-latestまたはubuntu-20.04
Ubuntu 18.04 ubuntu-18.04
macOS Big Sur 11 macos-11 The macos-latest label currently uses the macOS 10.15 runner image.
macOS Catalina 10.15 macos-latestもしくはmacos-10.15

Note: Beta Images are provided "as-is", "with all faults" and "as available" and are excluded from the service level agreement and warranty. Beta Images may not be covered by customer support.

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

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

GitHub ホストランナーに含まれているソフトウェアツールは毎週更新されます。 The update process takes several days, and the list of preinstalled software on the main branch is updated after the whole deployment ends.

Preinstalled software

ワークフローログには、正確なランナーにプレインストールされているツールへのリンクが含まれています。 ワークフローログでこの情報を見つけるには、[Set up job] セクションを展開します。 そのセクションの下で、[Virtual Environment] セクションを展開します。 The link following Included Software will describe the preinstalled tools on the runner that ran the workflow. Installed software link 詳しい情報については、「ワークフローの実行履歴を表示する」を参照してください。

For the overall list of included tools for each runner operating system, see the links below:

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

Using preinstalled software

アクションを使用して、ランナーにインストールされているソフトウェアと対話することをお勧めします。 このアプローチにはいくつかのメリットがあります。

  • アクションでは通常、バージョンの選択、引数を渡す機能、パラメータなどの機能が提供されています
  • これにより、ソフトウェアの更新に関係なく、ワークフローで使用されるツールのバージョンが同じままになります

リクエストしたいツールがある場合、actions/virtual-environments で Issue を開いてください。 このリポジトリには、ランナーに関するすべての主要なソフトウェア更新に関するお知らせも含まれています。

Installing additional software

You can install additional software on GitHub-hosted runners. For more information, see "Customizing GitHub-hosted runners".

IP アドレス

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

Windows及びUbuntuのランナーはAzureでホストされており、そのためAzureのデータセンターと同じIPアドレスの範囲を持ちます。 macOSランナーはGitHub独自のmacOSクラウドでホストされます。

GitHubホストランナーにGitHub Actionsが使うIPアドレスの範囲のリストを取得するには、GitHubのREST APIが利用できます。 詳しい情報については「GitHubメタ情報の取得」エンドポイントのレスポンス中のactionsキーを参照してください。 内部リソースへの未認可のアクセスを防ぐために許可リストが必要な場合には、このIPアドレスのリストを利用できます。

このAPIが返すGitHub ActionsのIPアドレスのリストは、週に1回更新されます。

ファイルシステム

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

問題がまだ解決していませんか?