stale runnerとは?ビルドを不安定にする逸脱したマシン
stale runnerは、意図された状態から逸脱したrunnerです - 古いエージェントバージョン、パッチ未適用のイメージ、あるいは蓄積された残留状態 - そして今や失敗を引き起こします。
stale runnerは「ほとんどのrunnerでは動くがあの1台だけ動かない」の主要な原因です。永続的なrunnerは時間とともに逸脱します。長く生きるほどクリーンなベースラインから遠ざかり、失敗はより不可解になります。
runnerがどうstaleになるか
- エージェントの逸脱: runnerのバージョンが遅れ、拒否または非推奨になる。
- イメージの逸脱: OSとツールが古くなり、セキュリティパッチが欠ける。
- 状態の逸脱: 残留ファイル、cache、プロセスがjobをまたいで蓄積する。
- 登録の逸脱: マシンが消えた後もゴーストrunnerがオフラインで残る。
なぜstaleさが不安定さを引き起こすか
逸脱したrunnerは新しいものと異なる振る舞いをします: クリーンなマシンで通るビルドが、残留状態や古いツールのせいでstaleなマシンで失敗します。コードは正常でマシンが正常でないため、これらはデバッグに気が狂うほど厄介です。
staleさを防ぐ
エファメラルなrunnerはstaleになれません: それぞれが新しく、1つのjobの後に破棄されます。永続的なrunnerには、自動のエージェント更新、定期的なイメージの再ビルド、jobごとのクリーンアップが必要です - これは継続的なops作業です。
マネージドrunner上のstaleさ
Latchkeyのrunnerはエファメラルで、保守されたイメージから再構築されるため、staleさは単に起きません - すべてのjobが最新でクリーンなマシンを得ます。
stale runnerを見分ける
特徴的な兆候は、特定の1台のrunnerでだけ失敗するjob、runnerのバージョンに関する非推奨の警告、あるいは再起動後に解消するディスク満杯や残留プロセスのエラーです。症状がコードではなくマシンとともに移動するとき、staleさを疑いましょう。
重要なポイント
- stale runnerはエージェント、イメージ、状態で逸脱し今や失敗します。
- 「あの1台のrunnerでだけ失敗する」不安定さの主要な原因です。
- エファメラルなrunnerはstaleになれず、永続的なものは能動的な保守が必要です。
- マネージドのエファメラルrunnerはstaleさを完全に回避します。
関連ガイド
What Is an Ephemeral Runner? One Job, Then GoneAn ephemeral runner is created for a single job and destroyed afterward. Learn why fresh, single-use runners…
What Is Runner Ops? The Hidden Work of Self-HostingRunner ops is the ongoing operational work of keeping self-hosted runners patched, scaled, secure, and online…
What Is a Runner Image? The Template Behind Every RunnerA runner image is the preconfigured disk template a runner boots from, with the OS and preinstalled tools. Le…
What Is a Self-Hosted Runner? Your Own CI ComputeA self-hosted runner is the GitHub Actions agent running on your own infrastructure. Learn how it works, why…