Tekton Trigger 概述
Tekton Triggers是一个Tekton组件,它允许您从各种来源的事件中检测和提取信息,并基于该信息确定地实例化和执行TaskRuns和PipelineRuns。Tekton触发器还可以将从事件中提取的信息直接传递给TaskRuns和pipelinerun。在Kubernetes集群上安服务器托管网装Tekton Triggers作为Tekton Pipelines的扩展。
Tekton Triggers 关键组件
Tekton触发器包括一个运行在Kubernetes集群上的控制器服务,以及以下Kubernetes自定义资源定义(CRD),它们扩展了Tekton pipeline的功能以支持事件:
EventListener
以Pod形式运行于Kubernetes集群上,通过监听的特定端口接收Event,可以指定一个或多个Triggers。
Trigger
EventListener Pod用于监视并筛选Event时使用的筛选条件,由TriggerTemplate、TriggerBinding和Interceptor组成。
TriggerTemplate
指定当 EventListener 检测到事件时要实例化和/或执行的资源(例如 TaskRun 或 PipelineRun)。可以在资源模板中的任何位置使用的参数。
TriggerBinding
负责指定在事件上(由EventListener筛选出)感兴趣的字段,并从这些字段中取出数据传递给TriggerTemplate,而后,TriggerTemplate将相应的数据赋值给关联的TaskRun或PipelineRun资源上的参数。
ClusterInterceptor
TriggerBinding 的集群版本。
Interceptor
针对特定平台的事件处理器,在 TriggerBinding 之前运行,使您能够执行有效负载过滤、验证(使用机密)、转换、定义和测试触发条件以及其他有用的处理。一旦事件数据通过拦截器,它就会在将有效负载数据传递到 TriggerBinding 之前转到Trigger。
Tekton Triggers 工作流程
EventListener 是一个 Kubernetes 对象,用于侦听 Kubernetes 集群上指定端口上的事件。它公开了一个可寻址接收器,用于接收传入事件并指定一个或多个Triggers。sink是一个 Kubernetes 服务,在专用 Pod 内运行sink逻辑。
每个Trigger又允许您指定一个或多个 TriggerBindings(允许您从事件负载中提取字段及其值)以及一个或多个 TriggerTemplates(从相应的 TriggerBindings 接收字段值),并允许 Tekton Triggers使用该数据实例化资源,例如 TaskRuns 和 PipelineRuns。
如果您需要在将事件有效负载数据传递到 TriggerBinding 之前对其进行修改、过滤或验证,您可以选择指定一个或多个Inter服务器托管网ceptors.
Tekton Triggers 使用场景
1. 触发器监听 git commit 或 git pull request 事件。当它检测到一个事件,它会对提交的代码执行单元测试Pipeline。
2. 触发器侦听指示测试成功完成的 git Push 事件。当它检测到一个事件,它会验证测试的结果并执行构建测试代码的Pipeline。
3. 当关联的 PipelineRun 完成执行时,触发器会检查构建的结果,如果成功,则执行一个任务,将构建工件上传到您选择的 Docker registry。
4. 最后,Docker registry向 Pub/Sub 发送一个事件,这会触发一个 Pipeline,将构建工件推送到staging环境。
参考文档
https://tekton.dev/docs/triggers/
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.fwqtg.net
相关推荐: shell变量类型–read–if语句正侧表达式(扩展)文本处理器、awk命令
变量:是容器,值是可变的,变化的。作用就是增强脚本的灵活性。各种shell环境中都使用了“变量”的概念。shell变量用来存放系统和用户需要使用的特定参数(值),而且这些参数可以根据用户的设定或系统环境的变化而相应变化。通过使用变量,shell程序能够提供更加…