Как мне автоматически применять обновления к ресурсам Tekton, хранящимся в репозитории git?

#kubernetes #version-control #continuous-integration #tekton #openshift-pipelines

#контроль версий #непрерывная интеграция #tekton #openshift-конвейеры

Вопрос:

В качестве фона я нахожусь в процессе обновления нескольких проектов из CI на основе Jenkins и Gitlab CI для использования Tekton. В этих проектах часто можно увидеть файл Jenkins или .gitlab-ci.yml, определяющий, какой конвейер должен выполняться для проекта. Затем эти файлы используются соответствующим инструментом во время сборки всякий раз, когда происходит событие запуска (например, слияние / фиксация / etc). Со временем эти файлы будут меняться, чтобы вместить все, что требуется репозиторию для выполнения его сборки, а затем будут переданы в репозиторий, как и любая другая выполняемая работа. Это имело желаемое поведение, заключающееся в точном знании того, как выглядел конвейер сборки в любой момент истории фиксации, и помогало воспроизводимости сборки при тщательном / правильном обращении.

Соответствующий подход с Tekton, по-видимому, предполагает, что вы храните файлы CRD yaml в папке / tekton. Однако большая часть документации и примеров, которые я видел для Tekton, сосредоточена на том, что кажется ручным процессом выталкивания ваших CRD с помощью kubectl. После установки CRD, EventTrigger может использовать определенные ресурсы, когда это необходимо, но что происходит, когда я фиксирую обновление в pipeline.yaml? Ожидается ли, что разработчик вручную отправит обновленные CRD с помощью kubectl или есть способ для EventTrigger автоматически использовать ./tekton/pipeline.yaml, который хранится в репозитории git, в котором было получено событие?