Skip to content
Latchkey

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 の移行をドロップインにします。

関連ガイド