ノート: GitHub Actionsは現在GitHub AEでベータです。
AEホストランナー について
An AEホストランナー is a virtual machine hosted by GitHub with the GitHub Actions runner service installed.
GitHub AE lets you create and customize AEホストランナーs using Ubuntu or Windows images; you can select the size of machine you want and configure security hardened networking for them. AEホストランナーs are fully managed and auto-scaled by GitHub.
Each workflow job is executed in a fresh instance of the AEホストランナー, and you can run workflows directly on the virtual machine or in a Docker container. All steps in the job execute in the same instance, allowing the actions in that job to share information using the AEホストランナー's filesystem.
To add AEホストランナーs to your organization or enterprise, see "Adding AEホストランナーs."
Pool assignments for AEホストランナーs
Your AEホストランナーs are allocated to the same pool as your GitHub AE instance. No other customers have access to this pool, and as a result, AEホストランナーs are not shared with any other customers.
Managing your AEホストランナーs
During the AEホストランナー beta, you can manage your AEホストランナーs by contacting GitHub support. For example, GitHub support can assist you with adding a new AEホストランナー, assigning labels, or moving a AEホストランナー to a different group.
支払い
GitHub Actions is currently in beta for GitHub AE. During this beta period, AEホストランナーs are not billed, and can be used for free.
Once the beta ends, billed usage will include the full uptime of active instances in your AE hosted runner sets. これは以下のものが含まれます。
- Job time - minutes spent running Actions job.
- Management - minutes spent re-imaging machines and any idle time created as a result of desired auto-scale behavior.
Pricing will scale linearly with cores. For example, 4 cores will be twice the price of 2 cores. Windows VMs will be priced higher than Linux VMs.
Hardware specifications
AEホストランナーs are available on a range of virtual machines hosted in Microsoft Azure. Depending on regional availability, you can choose from Standard_Das_v4, Standard_DS_v2, Standard_Fs_v2 series. Certain regions also include GPU runners based on Standard_NCs_v3.
For more information about these Azure machine resources, see "Sizes for virtual machines in Azure" in the Microsoft Azure documentation.
To determine which runner executed a job, you can review the workflow logs. 詳しい情報については、「ワークフロー実行の履歴を表示する」を参照してください。
Software specifications
You can use AEホストランナーs with standard operating system images, or you can add images that you've created.
Default operating system images
These images only include the standard operating system tools:
- Ubuntu 18.04 LTS (Canonical)
- Ubuntu 16.04 LTS (Canonical)
- Windows Server 2019 (Microsoft)
- Windows Server 2016 (Microsoft)
Custom operating system images
You can create your own OS images in Azure and have them added to GitHub AE as AEホストランナーs. For more information, see "Adding an AEホストランナー with a custom image".
Network specifications
You can optionally enable a fixed static public IP address for your AEホストランナーs. If enabled, all AEホストランナーs in your instance will share a range of 2 to 4 IP addresses, and will communicate using ports on those addresses.
If you don't enable static public IP addresses, then your AEホストランナーs will subsequently have the same IP address ranges as the Azure datacenters. Inbound ICMP packets are blocked, so ping or traceroute commands are not expected to work.
To get a list of IP address ranges that GitHub Actions uses for AEホストランナーs, you can use the GitHub REST API . 詳しい情報については「GitHubメタ情報の取得」エンドポイントのレスポンス中のactionsキーを参照してください。 内部リソースへの未認可のアクセスを防ぐために許可リストが必要な場合には、このIPアドレスのリストを利用できます。
このAPIが返すGitHub ActionsのIPアドレスのリストは、週に1回更新されます。
Administrative privileges for AEホストランナーs
The Linux virtual machines run using passwordless sudo. 現在のユーザが持っているよりも高い権限が求められるコマンドやインストールツールを実行する必要がある場合は、パスワードを入力する必要なく、sudoを使うことができます。 詳しい情報については、「Sudo Manual」を参照してください。
Windowsの仮想マシンは、ユーザアカウント制御(UAC)が無効化されて管理者として動作するように設定されています。 詳しい情報については、Windowsのドキュメンテーションの「ユーザー アカウント制御のしくみ」を参照してください。
ファイルシステム
GitHubは、仮想マシン上の特定のディレクトリでアクションとシェルコマンドを実行します。 仮想マシン上のファイルパスは静的なものではありません。 home、workspace、workflow ディレクトリのファイルパスを構築するには、GitHubが提供している環境変数を使用してください。
| ディレクトリ | 環境変数 | 説明 |
|---|---|---|
home | HOME | ユーザ関連のデータが含まれます。 たとえば、このディレクトリにはログイン試行からの認証情報を含めることができます。 |
workspace | GITHUB_WORKSPACE | アクションとシェルコマンドはこのディレクトリで実行されます。 このディレクトリの内容は、アクションによって変更することができ、後続のアクションでアクセスできます。 |
workflow/event.json | GITHUB_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