4.7. 关于触发器


使用触发器(Trigger)和 Pipelines 一起创建一个完整的 CI/CD 系统,其中 Kubernetes 资源定义整个 CI/CD 执行。Pipeline 触发器捕获外部事件,并处理它们以获取关键信息。将这个事件数据映射到一组预定义的参数可触发一系列任务,然后创建和部署 Kubernetes 资源。

例如,您可以使用 OpenShift Pipelines 为应用程序定义 CI/CD 工作流。PipelineRun 必须启动,才能在应用程序存储库中使任何新的更改生效。通过捕获和处理任何更改事件,并通过触发器部署新镜像的 PipelineRun 来自动触发这个过程。

触发器由以下主要组件组成,它们可一起组成可重复使用、分离和自力更生的 CI/CD 系统:

  • EventListeners 提供端点(endpoint)或事件 sink,用于使用 JSON 有效负载侦听传入的基于 HTTP 的事件。EventListener 使用 Event Interceptors 在有效负载上执行轻量级事件处理,它可识别有效负载类型并进行自选修改。目前,Pipeline Triggers 支持四种拦截器: Webhook Interceptors、GitHub Interceptors、GitLab Interceptors 和 Common Expression Language (CEL) Interceptors。
  • TriggerBindings 从事件有效负载中提取字段并将其作为参数保存。
  • TriggerTemplates 指定如何使用 TriggerBindings 中的参数化数据。TriggerTemplate 定义了一个资源模板,它接受 TriggerBindings 的输入,然后执行一系列操作来创建新 PipelineResources 并启动新的 PipelineRun。

EventListeners 把 TriggerBindings 和 TriggerTemplates 的概念组合在一起。EventListener 侦听进入的事件,使用 Interceptors 处理基本的过滤,使用 TriggerBindings 提取数据,然后处理这些数据以使用 TriggerTemplates 创建 Kubernetes 资源。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.