ファンインバリアとは?
ファンインバリアは、パイプライン内で下流のjobが多数の並列する上流jobの完了に依存し、それらすべてが成功するまで開始できない結合ポイントです。これはfan-outフェーズを終わらせる同期メカニズムです。GitHub Actionsでは、他の複数のjobをneedsするjobとして表現されます。
なぜ重要か
カバレッジのマージや多数のartifactからのリリースbuildといった集約ステップは、寄与するすべてのjobが完了するまで実行できません。ファンインバリアはその順序を強制します。バリアは最も遅い上流jobの完了を待つため、パイプライン全体のlatencyが決まる場所でもあります。
関連する概念
- 結果を結合してfan-outフェーズを終わらせる
- needsが上流の依存関係を宣言する
- 最も遅い上流jobが待ち時間を決める
関連ガイド
What Is Fan-Out/Fan-In?Fan-out splits work into many parallel jobs; fan-in gathers their results into a single downstream step, a co…
What Is a DAG in CI/CD?A DAG is a directed acyclic graph of jobs where edges express dependencies and no cycles exist, defining a va…
What Is the Critical Path in a Pipeline?The critical path is the longest dependent chain of jobs through a pipeline, which sets the minimum possible…