This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.1.3.6. トリガー
Trigger をパイプラインと併用して、Kubernetes リソースで CI/CD 実行全体を定義する本格的な CI/CD システムを作成します。Trigger は外部イベントをキャプチャーし、それらのイベントを処理して情報の主要な部分を抽出します。このイベントデータを事前に定義されたパラメーターのセットにマップすると、Kubernetes リソースを作成およびデプロイし、パイプラインをインスタンス化できる一連のタスクがトリガーされます。
たとえば、アプリケーションの Red Hat OpenShift Pipelines を使用して CI/CD ワークフローを定義します。アプリケーションリポジトリーで新たな変更を有効にするには、パイプラインを開始する必要があります。トリガーは変更イベントをキャプチャーし、処理することにより、また新規イメージを最新の変更でデプロイするパイプライン実行をトリガーして、このプロセスを自動化します。
Trigger は、再利用可能で分離した自律型 CI/CD システムを設定するように連携する以下の主なリソースで設定されています。
-
TriggerBinding
リソースはイベントを検証し、イベントペイロードからフィールドを抽出し、それらをパラメーターとして保存します。 -
TriggerTemplate
リソースは、リソースの作成方法の標準として機能します。これは、TriggerBinding
リソースからのパラメーター化されたデータが使用される方法を指定します。トリガーテンプレートは、トリガーバインディングから入力を受信し、新規パイプラインリソースの作成および新規パイプライン実行の開始につながる一連のアクションを実行します。 -
EventListener
は、JSON ペイロードを含む受信 HTTP ベースイベントをリッスンするエンドポイントまたはイベントシンクを提供します。これは各TriggerBinding
リソースからイベントパラメーターを抽出し、次にこのデータを処理し、対応するTriggerTemplate
リソースによって指定される Kubernetes リソースを作成します。EventListener
リソースは、イベントのinterceptors
を使用してペイロードで軽量イベント処理または基本的なフィルターを実行します。これはペイロードのタイプを特定し、オプションでこれを変更します。現時点で、パイプライントリガーは Webhook インターセプター、 GitHub インターセプター、 GitLab インターセプター、および Common Expression Language (CEL) インターセプター の 4 種類のインターセプターをサポートします。 -
Trigger
リソースはTriggerBinding
およびTriggerTemplate
リソースを接続し、このTrigger
リソースはEventListener
仕様で参照されます。
以下の例は、TriggerBinding
リソースのコードスニペットを示しています。これは、受信イベントペイロードから Git リポジトリー情報を抽出します。
以下の例は、TriggerTemplate
リソースのコードスニペットを示しています。これは、作成した TriggerBinding
リソースから受信される Git リポジトリー情報を使用してパイプライン実行を作成します。
以下の例は、TriggerBinding
および TriggerTemplate
リソースを接続する vote-trigger
という名前の Trigger
リソースのコードスニペットを示しています。
以下の例は、vote-trigger
という名前の Trigger
リソースを参照する EventListener
リソースを示しています。