Создание TriggerTemplate
Для полного понимания TriggerTemplates, включая их архитектуру, преимущества и основные принципы, см. документ Глубокое понимание TriggerTemplate.
Содержание
ОбзорПоддерживаемые типы ресурсовОсновная структураКонфигурация параметров1. Определение параметров2. Использование параметров3. Типы параметровОбработка JSON объектовРекомендации по лучшим практикамЧасто задаваемые вопросыПримеры использования1. Основной CI/CD пайплайн2. Развертывание с несколькими средамиСсылки на справочную документациюОбзор
TriggerTemplate — это ресурс, используемый для определения шаблона для ресурсов, которые могут быть созданны и выполнены, таких как TaskRun или PipelineRun, когда EventListener обнаруживает событие. Он предлагает возможности параметризации, позволяя использовать эти параметры в любом месте шаблона ресурса.
Поддерживаемые типы ресурсов
Сейчас TriggerTemplate поддерживает следующие ресурсы Tekton Pipelines:
Основная структура
Вот типичный пример определения TriggerTemplate:
Конфигурация параметров
1. Определение параметров
Определите параметры в spec.params:
2. Использование параметров
Используйте параметры в шаблоне ресурса:
- Основной синтаксис:
$(tt.params.parameter_name) - Пример:
$(tt.params.gitrevision)
3. Типы параметров
Параметры в TriggerTemplate поддерживают только строковые типы значений. Каждый параметр включает следующие поля:
name: Имя параметра (обязательно)description: Описание параметра (необязательно)default: Значение по умолчанию, должно быть строкой (необязательно)
Примечание: Хотя значения параметров могут быть только строками, вы можете включать форматированный контент (такой как JSON-строки) внутри строки и анализировать его во время использования.
Обработка JSON объектов
При передаче данных JSON вам нужно обрабатывать их как строку:
Рекомендации по лучшим практикам
-
Именование и организация параметров
- Используйте четкие и описательные имена параметров
- Предоставляйте описания для всех параметров
- Правильно используйте значения по умолчанию
-
Проектирование шаблонов
- Сохраняйте шаблоны многоразовыми
- Используйте динамическое создание имен
- Соответствующим образом разбивайте сложные шаблоны
-
Обработка ошибок
- Предоставляйте значения по умолчанию для критически важных параметров
- Используйте перехватчик CEL для проверки параметров
- Реализуйте соответствующие механизмы обработки ошибок
Часто задаваемые вопросы
-
Ошибки парсинга параметров
- Проверьте синтаксис параметра
- Проверьте формат JSON объекта
- Убедитесь, что имя параметра соответствует
-
Сбои в создании ресурсов
- Проверьте формат шаблона ресурса
- Проверьте значения параметров
- Проверьте системные разрешения
-
Конфликты имен
- Используйте generateName
- Реализуйте проверки на уникальность