Linux runnerとは?デフォルトで最も安価なCIマシン
Linux runnerはLinuxを実行するCI runnerで、ほとんどのworkflowのデフォルトであり、圧倒的に最も安価でプロビジョニングが最も速い選択肢です。
CI jobの圧倒的多数はLinux runner上で実行されます。安価で起動が速く、仮想化しやすく、事実上あらゆるツールでサポートされているため、特別な理由がない限り手を伸ばすデフォルトがubuntu-latestなのです。
なぜLinuxがデフォルトなのか
Linuxはマシンごとのライセンスなしに自由に仮想化できるため、プロバイダは高密度で安価なフリートを運用できます。ほとんどの言語、package manager、コンテナツールはLinux-firstなので、jobはそのまま動きます。
コスト面の優位性
Linuxのminuteは最も安価なtierです - WindowsはおよそLinuxの2倍、macOSは大きな倍率です。jobが特定の他のOSを必要としない限り、Linuxで実行するのが経済的な選択です。
Linuxで動くもの
- Webおよびバックエンドのビルド、テスト、コンテナイメージのビルド。
- ほとんどの言語: Node、Python、Go、Java、Rust、Ruby、PHP。
- デプロイおよびインフラのjob(Terraform、kubectl、クラウドCLI)。
Linux runnerからより多くを引き出す
CIのminuteの大半が費やされるのはLinuxなので、マネージド料金が最も大きな影響を与えるのもLinuxです。LatchkeyのLinux runnerは通常GitHubホスト型よりおよそ70%安価で、cold startを取り除くwarm poolを備えています。
Linuxのフレーバーとアーキテクチャ
ほとんどのLinux runnerはUbuntu x86ですが、ネイティブなARMビルドのためにARM64 Linuxを実行したり、本番のベースイメージに合わせたディストリビューションを選んだりもできます。runnerのOSをデプロイ先に合わせることで、「CIでは動くが本番で壊れる」という驚きを減らせます。
重要なポイント
- Linux runnerはLinuxを実行し、ほとんどのCI jobのデフォルトです。
- 最も安価なtierであり、プロビジョニングが最も速いです。
- ほとんどの言語やツールはLinux-firstなので、jobはそのまま動きます。
- CIのminuteの大半はLinuxなので、マネージド料金の恩恵はそこで最も大きくなります。
関連ガイド
What Is a Windows Runner? CI on the Windows PlatformA Windows runner is a CI runner running Windows for .NET, MSVC, and Windows-native builds. Learn what it is f…
What Is a macOS Runner? Apple-Platform CI, and Why It CostsA macOS runner is a CI runner running macOS for iOS and Apple builds. Learn why macOS runners exist, why they…
What Is an ARM Runner? Cheaper, Efficient CI on ARM64An ARM runner is a CI runner on ARM64 (aarch64) hardware. Learn why ARM runners are cheaper and faster per do…
What Is a Managed Runner? Hosted Convenience, Lower CostA managed runner is CI compute a third party operates for you - hosted-like ease without the vendor price or…