创建 TriggerTemplate
TIP
有关 TriggerTemplates 的全面理解,包括其架构、优势和基本原理,请参见 深入理解 TriggerTemplate 文档。
概述
TriggerTemplate 是一种资源,用于定义能够实例化和执行的资源蓝图,例如在 EventListener 检测到事件时的 TaskRun 或 PipelineRun。它提供参数化功能,允许您在资源模板的任何地方使用这些参数。
支持的资源类型
TriggerTemplate 当前支持以下 Tekton Pipelines 资源:
基本结构
以下是 TriggerTemplate 定义的典型示例:
参数配置
1. 参数定义
在 spec.params 中定义参数:
2. 参数使用
在资源模板中使用参数:
- 基本语法:
$(tt.params.parameter_name) - 示例:
$(tt.params.gitrevision)
3. 参数类型
TriggerTemplate 中的参数仅支持字符串类型值。每个参数包括以下字段:
name: 参数名称(必选)description: 参数描述(可选)default: 默认值,必须是字符串(可选)
Note
注意:尽管参数值只能是字符串,您可以在字符串中包含格式化的内容(如 JSON 字符串),并在使用时进行解析。
JSON 对象处理
传递 JSON 数据时,您需要将其处理为字符串:
最佳实践
-
参数命名与组织
- 使用清晰、描述性的参数名称
- 为所有参数提供描述
- 合理使用默认值
-
模板设计
- 保持模板的可重用性
- 使用动态名称生成
- 适当拆分复杂模板
-
错误处理
- 为关键参数提供默认值
- 使用 CEL 拦截器验证参数
- 实施适当的错误处理机制
常见问题
-
参数解析错误
- 检查参数语法
- 验证 JSON 对象格式
- 确认参数名称匹配
-
资源创建失败
- 检查资源模板格式
- 验证参数值
- 检查系统权限
-
命名冲突
- 使用 generateName
- 实现唯一性检查