Use GitLab Event Triggers
Содержание
OverviewCore FeaturesSupported Event TypesBasic Event InformationБазовые переменные (общие для всех событий)1. Push EventПеременные события Push2. Merge Request EventПеременные события Merge Request3. Comment EventsБазовые переменные комментариев (общие для всех комментариев)3.1 Переменные комментариев Merge Request3.2 Переменные комментариев коммитаConfiguration GuidePrerequisitesConfigure Webhook via GitLab UIPipeline Trigger Configuration ExampleOverview
GitLab Event Triggers позволяет автоматически запускать Tekton pipelines через события Webhook GitLab. Поддерживаются различные типы событий, включая пуши кода, merge request, комментарии и другие, что позволяет построить полноценный CI/CD автоматизированный процесс.
Core Features
- Поддержка нескольких типов событий: Поддерживает различные события GitLab, такие как Push, Merge Request, комментарии и др.
- Стандартизированные Trigger Binding: Предоставляет стандартизированные ClusterTriggerBindings для обеспечения согласованности между платформами.
- Гибкое сопоставление параметров: Автоматически извлекает ключевую информацию из событий GitLab для параметров pipeline.
- Безопасная интеграция Webhook: Поддерживает проверку безопасности Webhook.
Supported Event Types
Basic Event Information
Все выходные переменные могут использоваться для сопоставления параметров pipeline. Значения параметров доступны через $(tt.params.<param name>).
Базовые переменные (общие для всех событий)
1. Push Event
Срабатывает при пуше кода разработчиком в репозиторий GitLab. Подходит для:
- Сборок непрерывной интеграции
- Автоматического деплоя
- Проверок качества кода
Переменные события Push
2. Merge Request Event
Срабатывает при создании, обновлении или закрытии merge request. Подходит для:
- Автоматизированных код-ревью
- Деплоя в pre-release окружения
- Автоматического тестирования
Переменные события Merge Request
Обратитесь к документации webhook вашей инстанции GitLab или к официальной документации GitLab по событиям merge request
3. Comment Events
Поддерживаются следующие типы комментариев:
- Комментарии к Merge Request
- Комментарии к коммитам
Подходит для:
- Автоматизации ChatOps на основе комментариев
Базовые переменные комментариев (общие для всех комментариев)
3.1 Переменные комментариев Merge Request
3.2 Переменные комментариев коммита
Configuration Guide
Prerequisites
- В среде создан
EventListener, способный обрабатыватьTriggerв целевом namespace. Обратитесь к администратору платформы для уточнения. - GitLab имеет доступ к указанному
EventListener. - Созданы необходимые
Pipelineи соответствующие конфигурации для запуска. - У вас есть права на изменение настроек Webhook в проекте GitLab.
Configure Webhook via GitLab UI
- Перейдите в настройки вашего проекта GitLab.
- Откройте Settings > Webhooks.
- Добавьте URL Webhook в зависимости от режима развертывания
EventListener, например, для режимаhttps: - Выберите необходимые типы событий:
- Push events
- Merge request events
- Comments
- (Опционально) Настройте Secret Token.
- Нажмите "Add webhook".
Pipeline Trigger Configuration Example
Если цель — реализовать непрерывную интеграцию через триггер с такими требованиями:
- Автоматический запуск CI при отправке кода.
- Автоматический запуск CI pipeline при открытии merge request.
Для упрощения документации предполагается, что pipeline готов и принимает следующие параметры:
Пожалуйста, замените на актуальную информацию вашего pipeline.
Далее необходимо настроить только два триггера:
Создание триггера Push
Сохраните следующий YAML в файл gitlab-push-trigger.yaml:
Создайте ресурс в среде:
Создание триггера Merge Request
Сохраните следующий YAML в файл gitlab-merge-request-trigger.yaml:
При необходимости скорректируйте конфигурацию Interceptor.
Создайте ресурс в среде:
Проверка триггеров
Проверьте работу, отправив код и создав Merge Request.
CLI:
Получить статус выполнения pipeline можно командой kubectl -n <namespace> get pipelinerun.
Консоль:
Перейдите в Pipelines > PipelineRuns для просмотра запущенных pipeline.