第5章. ランナー
この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com
GitHub Actionsで実装する機能に関係なく、その機能を実行する場所が必要だ。ジョブを処理するのに十分なリソースを持つ仮想システムや物理システムが必要で、ジョブをディスパッチする際にActionsのコントロールプレーンとやり取りできるように設定されている必要がある。Actionsの用語では、ワークフローのジョブが実行されるシステムはランナーと呼ばれる。
ランナーシステムには、二つの選択肢がある。GitHub が提供するデフォルトのシステムを使うか、自分で設定・ホストして使うかだ。この章では、両方の選択肢について、その主な属性や使い方、長所と短所を探っていこう。まず、GitHub が自動的にデフォルトで提供しているシステムから見ていこう。
GitHubホストランナー
GitHubが提供するランナーは、ワークフローでジョブを実行する最もシンプルで簡単な方法だ。GitHubがホストするランナーはすべて、Ubuntu Linux、Windows Server、or macOSから好きな演算子を選択した新しい仮想マシン(VM)として作成される。GitHubホスト・ランナーを使う利点は、仮想マシンの必要なアップグレードやメンテナンスをGitHubが行ってくれることだ。
これらのランナーでワークフローを実行する場合、runs-on: ubuntu-latest のような単純なランナー 宣言以外に、各ジョブに追加のセットアップや設定は必要ない。
ワークフローの YAML にあるこれらのラベルは、GitHub に特定のオペレーティングシステムと環境を持つ仮想ランナーシステムのプロビジョニングと起動を行わせる。表5-1はGitHub Actionsのドキュメントから引用したもので、GitHubがランナーとして提供する仮想マシンのOS環境とラベルの対応関係を示している。
| 環境 | YAMLラベル | 付属ソフトウェア |
|---|---|---|
|
Ubuntu 22.04beta |
|
|
|
Ubuntu 20.04 |
|
|
|
Ubuntu 18.04 |
|
|
|
macOS 12beta |
|
|
|
macOS 11 |
|
|
|
macOS 10.15 |
|
|
|
Windows Server 2022 |
|
|
|
Windows Server 2019 |
|
|
|
Windows Server 2016 |
|
Linux以外のシステムを使う場合のコスト
macOSやWindowsのServers GitHubが提供する環境を利用していて、GitHubの有料プランを利用している場合、対応するUbuntuシステムよりも1分あたりの利用料金が高いことを覚えておいてほしい。 ...