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.3.2.2.6. トリガー
Trigger をパイプラインと併用して、Kubernetes リソースで CI/CD 実行全体を定義する本格的な CI/CD システムを作成します。Trigger は、Git プルリクエストなどの外部イベントをキャプチャーし、それらのイベントを処理して情報の主要な部分を抽出します。このイベントデータを事前に定義されたパラメーターのセットにマップすると、Kubernetes リソースを作成およびデプロイし、パイプラインをインスタンス化できる一連のタスクがトリガーされます。
たとえば、アプリケーションの Red Hat OpenShift Pipelines を使用して CI/CD ワークフローを定義します。アプリケーションリポジトリーで新たな変更を有効にするには、パイプラインを開始する必要があります。トリガーは変更イベントをキャプチャーし、処理することにより、また新規イメージを最新の変更でデプロイするパイプライン実行をトリガーして、このプロセスを自動化します。
Trigger は、再利用可能で分離した自律型 CI/CD システムを設定するように連携する以下の主なリソースで設定されています。
TriggerBindingリソースはイベントを検証し、イベントペイロードからフィールドを抽出し、それらをパラメーターとして保存します。以下の例は、
TriggerBindingリソースのコードスニペットを示しています。これは、受信イベントペイロードから Git リポジトリー情報を抽出します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow TriggerTemplateリソースは、リソースの作成方法の標準として機能します。これは、TriggerBindingリソースからのパラメーター化されたデータが使用される方法を指定します。トリガーテンプレートは、トリガーバインディングから入力を受信し、新規パイプラインリソースの作成および新規パイプライン実行の開始につながる一連のアクションを実行します。以下の例は、
TriggerTemplateリソースのコードスニペットを示しています。これは、作成したTriggerBindingリソースから受信される Git リポジトリー情報を使用してパイプライン実行を作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow TriggerリソースはTriggerBindingおよびTriggerTemplateリソースを接続し、このTriggerリソースはEventListener仕様で参照されます。以下の例は、
TriggerBindingおよびTriggerTemplateリソースを接続するvote-triggerという名前のTriggerリソースのコードスニペットを示しています。Copy to Clipboard Copied! Toggle word wrap Toggle overflow EventListenerは、JSON ペイロードを含む受信 HTTP ベースイベントをリッスンするエンドポイントまたはイベントシンクを提供します。これは各TriggerBindingリソースからイベントパラメーターを抽出し、次にこのデータを処理し、対応するTriggerTemplateリソースによって指定される Kubernetes リソースを作成します。EventListenerリソースは、イベントのinterceptorsを使用してペイロードで軽量イベント処理または基本的なフィルターを実行します。これはペイロードのタイプを特定し、オプションでこれを変更します。現時点で、パイプライントリガーは Webhook インターセプター、 GitHub インターセプター、 GitLab インターセプター、および Common Expression Language (CEL) インターセプター の 4 種類のインターセプターをサポートします。以下の例は、
vote-triggerという名前のTriggerリソースを参照するEventListenerリソースを示しています。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Red Hat OpenShift Pipelines のトリガーは、Eventlistener リソースへの HTTP(非セキュア) および HTTPS (セキュアな HTTP) 接続の両方をサポートします。セキュアな HTTPS 接続を使用すると、クラスター内外のエンドツーエンドのセキュアな接続を得ることができます。namespace の作成後に、operator.tekton.dev/enable-annotation=enabled ラベルを namespace に追加し、次に Trigger リソースおよび re-encrypt TLS 終端を使用するセキュアなルートを作成して、Eventlistener についてこのセキュアな HTTPS 接続を有効にできます。