Основные концепции
Tekton Triggers - это мощное расширение для Tekton Pipelines, которое позволяет реализовать автоматизацию на основе событий. Оно позволяет автоматически инициировать выполнение конвейеров в ответ на события из различных источников, таких как репозитории Git, контейнерные реестры или пользовательские вебхуки. Этот документ предоставляет обзор основных концепций Tekton Triggers и ссылки на более подробные объяснения каждой концепции.
Содержание
Обзор компонентов Tekton TriggersТриггерTriggerBindingTriggerTemplateEventListenerInterceptorКак эти компоненты работают вместеОбзор компонентов Tekton Triggers
Tekton Triggers состоит из нескольких ключевых компонентов, которые работают вместе для обеспечения автоматизации на основе событий:
Триггер
Триггер определяет, что происходит, когда EventListener обнаруживает событие. Он соединяет TriggerBindings (для извлечения данных) с TriggerTemplates (для создания ресурсов) и при необходимости включает Interceptors для фильтрации и обработки событий.
TriggerBinding
TriggerBinding извлекает поля из полезной нагрузки события (например, вебхуков) и связывает их с именованными параметрами, которые можно использовать в TriggerTemplates. Это позволяет использовать конкретные данные из событий в ваших выполнения конвейера.
Глубокое понимание TriggerBinding
TriggerTemplate
TriggerTemplate определяет шаблон ресурсов (например, PipelineRuns или TaskRuns), которые должны быть созданы, когда событие получено. Он использует параметры из TriggerBindings для динамического создания ресурсов с данными, специфичными для события.
Глубокое понимание TriggerTemplate
EventListener
EventListener - это служба Kubernetes, которая слушает события (вебхуки) и обрабатывает их в соответствии с определенными триггерами. Он принимает события, применяет Interceptors, извлекает данные с помощью TriggerBindings и создает ресурсы с помощью TriggerTemplates.
Глубокое понимание EventListener
Interceptor
Interceptor обрабатывает и фильтрует события до того, как они достигнут TriggerBindings и TriggerTemplates. Interceptors могут проверять подписи вебхуков, фильтровать события на основе содержания и преобразовывать данные события, чтобы сделать их более подходящими для использования в конвейере.
Глубокое понимание Interceptor
Как эти компоненты работают вместе
- EventListener принимает событие (вебхук) из внешней системы
- Interceptors проверяют, фильтруют и обрабатывают событие
- TriggerBindings извлекают соответствующие данные из события
- TriggerTemplates используют извлеченные данные для создания ресурсов
- Созданные ресурсы (обычно PipelineRuns) выполняют рабочий процесс CI/CD
Этот подход на основе событий позволяет создавать полностью автоматизированные CI/CD конвейеры, которые реагируют на события из вашей среды разработки без ручного вмешательства.