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