runner イメージとは?すべての runner の背後にあるテンプレート
runner イメージとは、runner が boot する事前設定済みのマシンテンプレートです - オペレーティングシステムに加え、すぐに使える言語、build ツール、SDK の厳選されたセット。
すべての runner はイメージから始まります。そのイメージに何が焼き込まれているかが、インストールなしで利用できるツール、runner の boot の速さ、そして job が実行間で一貫して振る舞うかどうかを決めます。
イメージに含まれるもの
ベース OS(一般的に Ubuntu)、言語ランタイム(Node、Python、Go、Java)、パッケージマネージャ、build ツール、コンテナツール、クラウド CLI - ワークフローが job ごとにインストールしなくて済むようプリインストールされています。
なぜイメージが重要なのか
- boot 速度: より無駄のないイメージは boot と cold start がより速い。
- 再現性: 固定されたイメージは、すべての job が同じツールを見ることを意味する。
- 利便性: プリインストールされたツールが依存関係のインストール時間を節約する。
肥大化のトレードオフ
GitHub-hosted イメージは、あらゆるユーザーをカバーするために膨大な量をプリインストールしており、それが大きく、プロビジョニングが遅くなる原因です。より小さく目的特化のイメージは boot が速いですが、job が実際に必要とするツールを自分でインストールする必要があるかもしれません。
GitHub-hosted との同等性
runner を移行するとき、ワークフローが GitHub-hosted イメージから前提とするツールに一致するイメージが欲しくなります。そうすれば job が「command not found」で壊れません。同等性こそが移行をドロップインにするものです。
マネージド runner のイメージ
Latchkey は GitHub と同等のイメージを動かすため、既存のワークフローは変更なしで動作し、同時に warm pool から提供できるほど boot を高速に保ちます。
重要なポイント
- runner イメージとは、runner が boot する OS プラスツールのテンプレートです。
- boot 速度、再現性、利用可能なツールを制御します。
- hosted イメージは幅広いが肥大化しており、目的特化のイメージはより無駄がありません。
- GitHub と同等のイメージは runner の移行をドロップインにします。
関連ガイド
What Is a Cold Start in CI? The Wait Before Your First StepA cold start is the delay while a fresh runner is provisioned before your job runs. Learn what causes it and…
What Is a Linux Runner? The Default, Cheapest CI MachineA Linux runner is a CI runner running Linux - the default and cheapest option for most builds. Learn why it i…
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 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…