Critical Path Analysis (Pipeline) - CI/CD用語集の定義
critical path(クリティカルパス)は、pipeline内の依存するstageの最も長い連鎖です。その長さが総実行時間の下限となるため、クリティカルパス外の何かを最適化してもpipelineは速くなりません。
critical path analysisは、pipelineの依存グラフの中で依存する最も長いstageの連鎖を見つけるもので、その総所要時間がpipelineの最小のwall-clock時間を決めます。したがってそれを短縮することが、pipelineをより早く終わらせる唯一の方法です。
独立したjobは並列で走るため、エンドツーエンドの時間に影響するのはクリティカルパス上の作業だけです。
どこを最適化するか
クリティカルパス上にないjobを速くしても何も短縮されません。まずクリティカルな連鎖を特定し、その上のstageをcache、並列化、または分割してください。
関連ガイド
Affected Graph - CI/CD Glossary DefinitionAffected Graph: An affected graph identifies which projects or tasks in a monorepo are impacted by a set of c…
Runner Queue Depth - CI/CD Glossary DefinitionRunner Queue Depth: Runner queue depth is the number of jobs waiting for a free runner at a given moment; a p…
Test Impact Analysis - CI/CD Glossary DefinitionTest Impact Analysis: Test impact analysis (TIA) selects the subset of tests affected by a code change, using…