Tekton Triggers 核心概念

Tekton Triggers 是对 Tekton Pipelines 的强大扩展,支持事件驱动的工作流。它允许您在响应来自各种来源(例如 Git 仓库、容器注册表或自定义 Webhook)的事件时自动触发管道执行。本文档提供了 Tekton Triggers 核心概念的概述,并链接到每个概念的深入解释。

Tekton Triggers 组件概述

Tekton Triggers 由多个关键组件组成,这些组件共同协作以实现事件驱动的自动化:

Tekton Triggers 流程

触发器

触发器指定了当 EventListener 检测到事件时会发生什么。它将 TriggerBindings(用于数据提取)与 TriggerTemplates(用于资源创建)连接起来,并可选地包括 Interceptors 以进行事件过滤和处理。

深入理解触发器

触发绑定

触发绑定从事件负载(如 Webhook)中提取字段,并将它们绑定到可以在 TriggerTemplates 中使用的命名参数。这使您能够在管道执行中使用来自事件的特定数据。

深入理解触发绑定

触发模板

触发模板定义了在接收到事件时应创建的资源(如 PipelineRuns 或 TaskRuns)的蓝图。它使用来自 TriggerBindings 的参数来动态创建具有事件特定数据的资源。

深入理解触发模板

事件监听器

事件监听器是一个 Kubernetes 服务,它监听事件(Webhook)并根据定义的触发器处理它们。它接收事件,应用 Interceptors,提取数据并通过 TriggerTemplates 创建资源。

深入理解事件监听器

拦截器

拦截器在事件到达 TriggerBindings 和 TriggerTemplates 之前处理和过滤事件。拦截器可以验证 Webhook 签名,基于内容过滤事件,并转换事件数据,使其更适合管道使用。

深入理解拦截器

这些组件如何协同工作

  1. 事件监听器 从外部系统接收事件(Webhook)
  2. 拦截器 验证、过滤并处理该事件
  3. 触发绑定 从事件中提取相关数据
  4. 触发模板 使用提取的数据创建资源
  5. 创建的资源(通常是 PipelineRuns)执行 CI/CD 工作流

这种事件驱动的方法使得完全自动化的 CI/CD 管道能够在不进行人工干预的情况下响应来自开发生态系统的事件。