Skip to content
Latchkey

CI予算とは? pipelineの支出上限の設定と適用

CI予算とは、継続的インテグレーションのpipelineが一定期間にかけてよいコストに対する意図的な上限であり、それに対して追跡できる可視性と組み合わされたものです。

予算がなければ、CIの支出は新しいリポジトリ、テスト、チームメンバーが増えるたびにひそかに膨らみ、請求書が注意を強いるまで続きます。CI予算は、想定コストを明示し、チームに目標を与え、バースト的なワークロードがそれを突き抜けないよう保つアラートと上限を作り出します。

予算が定義するもの

CI予算は、月次支出の目標(または厳格な上限)を設定し、通常はチーム、リポジトリ、runnerの種類ごとに分解されます。際限のない分単位のメーターを、財務とエンジニアリングの双方が合意する計画された数字に変えます。

現実的な数字の設定

予算は過去のminuteとrunnerの構成を基にし、成長とリリースの繁忙期のための余裕を加えます。/learn/github-actions-cost-calculatorにある計算ツールは、minuteとrunnerのサイズを、根拠のある月額に換算するのに役立ちます。

サイクル内での追跡

予算はペースを見張ってこそ有用です。累積支出を、経過した課金サイクルの割合と比較すれば、月末に超過を発見するのではなく、第2週の時点で行動できます。

作業をブロックせずに適用する

厳格な支出上限はworkflowを停止させることがあり、予算を守る一方でリリースをブロックしうります。ソフトな適用 - 70/90/100%でのアラートとチーム単位のshowback - は通常、pipelineを動かし続けることとコントロールのバランスを取ります。

予算がきつすぎるとき

pipelineが常に上限に突き当たる場合、その解決策が配信を遅くすることであることはめったにありません。無駄を削る(caching、flakyな再実行、過大なrunner)か、レートを下げることです。良い最適化を強いる予算は健全ですが、テストのスキップを強いる予算はそうではありません。

予算を伸ばす

分単位のレートを下げれば、どんな予算も長持ちします。Latchkeyのmanaged runnerは、同じworkflowをGitHub-hostedよりおよそ70%安く実行し、自己修復によってflakyな再実行のminuteを回復します。そのため同じ予算で、はるかに多くのpipelineをまかなえます。

重要なポイント

  • CI予算は、際限のないメーターを、計画され所有された数字に変えます。
  • 過去のminuteとrunnerの構成を基に、繁忙期のための余裕を持たせて設定します。
  • 累積支出をサイクルの進捗と照らし合わせて追跡し、早めに行動します。

関連ガイド