Create TriggerTemplate
Для полного понимания TriggerTemplates, включая их архитектуру, преимущества и основные принципы, смотрите документ In-Depth Understanding of TriggerTemplate.
Содержание
OverviewSupported Resource TypesBasic StructureParameter Configuration1. Parameter Definition2. Parameter Usage3. Parameter TypesJSON Object HandlingBest PracticesFrequently Asked QuestionsUsage Examples1. Basic CI/CD Pipeline2. Multi-Environment DeploymentReference LinksOverview
TriggerTemplate — это ресурс, используемый для определения шаблона ресурсов, которые могут быть созданы и выполнены, таких как TaskRun или PipelineRun, когда EventListener обнаруживает событие. Он предоставляет возможности параметризации, позволяя использовать эти параметры в любом месте внутри шаблона ресурса.
Supported Resource Types
В настоящее время TriggerTemplate поддерживает следующие ресурсы Tekton Pipelines:
Рекомендация: используйте
tekton.dev/v1для следующих ресурсов;tekton.dev/v1beta1по-прежнему принимается, но устарел и будет удалён в будущих релизах.
Basic Structure
Ниже приведён типичный пример определения TriggerTemplate:
Parameter Configuration
1. Parameter Definition
Определите параметры в spec.params:
2. Parameter Usage
Используйте параметры внутри шаблона ресурса:
- Базовый синтаксис:
$(tt.params.parameter_name) - Пример:
$(tt.params.gitrevision)
3. Parameter Types
Параметры в TriggerTemplate поддерживают только строковые значения. Каждый параметр включает следующие поля:
name: имя параметра (обязательно)description: описание параметра (опционально)default: значение по умолчанию, должно быть строкой (опционально)
Примечание: хотя значения параметров могут быть только строками, вы можете включать форматированный контент (например, JSON-строки) внутри строки и разбирать его при использовании.
JSON Object Handling
При передаче JSON-данных их необходимо обрабатывать как строку:
Best Practices
-
Именование и организация параметров
- Используйте понятные, описательные имена параметров
- Предоставляйте описания для всех параметров
- Используйте значения по умолчанию там, где это уместно
-
Проектирование шаблонов
- Делайте шаблоны переиспользуемыми
- Используйте динамическую генерацию имён
- Разбивайте сложные шаблоны на части
-
Обработка ошибок
- Предоставляйте значения по умолчанию для критичных параметров
- Используйте CEL interceptor для валидации параметров
- Реализуйте соответствующие механизмы обработки ошибок
Frequently Asked Questions
-
Ошибки парсинга параметров
- Проверьте синтаксис параметров
- Проверьте формат JSON-объекта
- Убедитесь, что имя параметра совпадает
-
Сбои при создании ресурсов
- Проверьте формат шаблона ресурса
- Проверьте значения параметров
- Проверьте системные разрешения
-
Конфликты имён
- Используйте generateName
- Реализуйте проверки уникальности