Skip to content
Latchkey

pipeline eventとは? CIを駆動するシグナル

pipeline eventは、pushやpull requestのようなシグナルで、CIシステムがそれを受け取り、pipelineを開始するかどうかを判断するために使います。

CIはイベント駆動です。リポジトリやシステムで何かが起き、eventが発行され、CIプラットフォームがそれに応じて何を (もしあれば) 実行するか判断します。eventを理解すると、pipelineがそのタイミングで始まる理由が明確になります。push event、pull request event、schedule eventはそれぞれ、pipelineが反応しフィルタリングできるコンテキストを運びます。

event vs trigger

eventは生のシグナルです (pushが起きた)。triggerは「そのeventが発生し、これらのフィルタが一致したら、このpipelineを実行する」というルールです。eventは起きることであり、triggerはそれを購読する方法です。

一般的なpipeline event

  • Push: commitがbranchに到達した。
  • Pull request: PRが開かれた、更新された、またはマージされた。
  • Tag: 新しいtagが作成された。
  • Schedule: タイマーが発火した。
  • 手動または外部: dispatchまたはAPI呼び出し。

eventはコンテキストを運ぶ

eventには、pipelineが使えるデータが含まれます。どのbranchか、どのcommitか、誰がtriggerしたか、どのファイルが変わったかです。pipelineはこのコンテキストを読み、フィルタし (main でのみ実行) 、eventごとに異なる振る舞いをします。

簡単な例

pull_request eventは、ソースとターゲットのbranch、および変更されたファイルを運びます。workflowはそれを使い、PRが触れた部分に関連するテストだけを実行し、無関係なスイートをスキップできます。

eventとオーケストレーション

eventはpipelineを連鎖もさせます。あるworkflowの完了は、それ自体が別のものが反応できるeventです。このevent on eventのフローが、downstream pipelineやより広いbuildオーケストレーションの基盤です。

重要なポイント

  • pipeline eventは、CIシステムが反応するシグナルです。
  • eventは生の出来事であり、triggerはそれを購読するルールです。
  • eventはコンテキスト (branch、commit、ファイル) を運び、pipelineがフィルタして使います。

関連ガイド