• Русский
  • Основные концепции

    Tekton Triggers — это мощное расширение для Tekton Pipelines, которое обеспечивает управление рабочими процессами на основе событий. Оно позволяет автоматически запускать выполнение pipeline в ответ на события из различных источников, таких как Git-репозитории, контейнерные реестры или пользовательские вебхуки. В этом документе представлен обзор основных концепций Tekton Triggers с ссылками на подробные объяснения каждой из них.

    Обзор компонентов Tekton Triggers

    Tekton Triggers состоит из нескольких ключевых компонентов, которые работают вместе для обеспечения автоматизации на основе событий:

    Поток Tekton Triggers

    Trigger

    Trigger определяет, что происходит, когда EventListener обнаруживает событие. Он связывает TriggerBindings (для извлечения данных) с TriggerTemplates (для создания ресурсов) и опционально включает Interceptors для фильтрации и обработки событий.

    Подробное описание Trigger

    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

    Как эти компоненты работают вместе

    1. EventListener получает событие (вебхук) из внешней системы
    2. Interceptors проверяют, фильтруют и обрабатывают событие
    3. TriggerBindings извлекают релевантные данные из события
    4. TriggerTemplates используют извлечённые данные для создания ресурсов
    5. Созданные ресурсы (обычно PipelineRuns) выполняют CI/CD workflow

    Такой подход, основанный на событиях, позволяет полностью автоматизировать CI/CD pipeline, которые реагируют на события из вашей среды разработки без ручного вмешательства.