Skip to content
Latchkey

pipeline失敗率とは何か?解説

pipeline失敗率とは、ある期間において失敗したCI実行の割合であり、pipelineがどれだけ信頼できるかを示す代表的な指標です。

測定していない信頼性を改善することはできません。pipeline失敗率はその中で最もシンプルな指標です。ある期間のすべての実行のうち、いくつが失敗したか?単体では大まかな数字ですが、正しく分割すれば、信頼性向上の作業がどこで報われるかを示す強力な指針になります。

計算方法

基本の数字は、ある期間における失敗した実行を総実行数で割り、パーセンテージで表したものです。pipelineごと、branchごと、あるいは組織全体で計算できます。単一の値よりも時系列の傾向のほうが重要です。率は上昇しているのか、それとも低下しているのか?

生の率がなぜ誤解を招くのか

単一の失敗率は、まったく異なる2つのものを一括りにします。本物の失敗(コードが壊れた)とノイズの失敗(一時的および機械的な問題、flakyなテスト)です。本物のバグによる高い率は品質の問題であり、ノイズによる高い率は信頼性の問題です。これらには異なる対処が必要です。

率を分割する

  • 本物 / 決定的:変更によって引き起こされた再現可能な失敗。
  • 一時的:リトライで解消される失敗(ネットワーク、registry、リソース)。
  • flaky:変更と無関係な非決定的なテストの失敗。

うまく活用する

分割を時系列で追跡し、最も大きく最も安価に対処できる要因から先に攻めましょう。一時的な失敗が支配的なら、自動リトライとより良いインフラがすぐに報われます。flakyなテストが支配的なら、決定性と分離に投資しましょう。数字がどこを見るべきかを教えてくれます。

Latchkeyの視点

失敗率のうち一時的な部分こそ、Latchkeyの自己修復マネージドrunnerが狙う対象です。一時的および機械的な失敗を検出して自動でリトライし、一度きりの瞬断でビルドが失敗しないようにすることで、環境由来の失敗を率から取り除き、本当の品質をより明確に映し出します。

重要なポイント

  • pipeline失敗率は、あるウィンドウにおける失敗した実行を総実行数で割ったものである。
  • 生の率は、本物の失敗とノイズの失敗の違いを隠してしまう。
  • 対処するには、決定的・一時的・flakyに分割する。
  • 最も大きく最も安価に対処できる要因から先に攻める。

関連ガイド