Использование триггеров событий GitLab
Содержание
ОбзорОсновные функцииПоддерживаемые типы событийОсновная информация о событияхОсновные переменные (общие для всех событий)1. Событие коммитаПеременные события коммита2. Событие запроса на слияниеПеременные события запроса на слияние3. События комментариевОсновные переменные событий комментариев (общие для всех событий комментариев)3.1 Переменные комментариев к запросу на слияние3.2 Переменные комментариев к коммитамРуководство по настройкеПредварительные условияНастройка вебхука через интерфейс GitLabПример настройки триггера для конвейераОбзор
Триггеры событий GitLab позволяют автоматически запускать конвейеры Tekton через события вебхуков GitLab. Поддерживает несколько типов событий, включая коммиты кода, запросы на слияние, комментарии и т. д., что позволяет вам создать полный рабочий процесс автоматизации CI/CD.
Основные функции
- Поддержка нескольких типов событий: Поддерживает различные события GitLab, такие как коммиты, запросы на слияние, комментарии и т. д.
- Стандартизированное связывание триггеров: Обеспечивает стандартизированные ClusterTriggerBindings для обеспечения согласованности между платформами.
- Гибкое сопоставление параметров: Автоматически извлекает ключевую информацию из событий GitLab для параметров конвейеров.
- Безопасная интеграция вебхуков: Поддерживает проверку безопасности вебхуков.
Поддерживаемые типы событий
Основная информация о событиях
Все выходные переменные могут быть использованы для сопоставления параметров конвейеров. Вы можете получить доступ к значениям параметров с помощью $(tt.params.<имя параметра>).
Основные переменные (общие для всех событий)
1. Событие коммита
Происходит, когда разработчик загружает код в репозиторий GitLab. Подходит для:
- Сборок непрерывной интеграции
- Автоматизированного развертывания
- Проверок качества кода
Переменные события коммита
2. Событие запроса на слияние
Происходит, когда запрос на слияние создается, обновляется или закрывается. Подходит для:
- Автоматизированных проверок кода
- Развертываний в предрелизной среде
- Автоматизированного тестирования
Переменные события запроса на слияние
Смотрите документацию вебхуков вашего экземпляра GitLab или официальную документацию событий запроса на слияние GitLab
3. События комментариев
Поддерживает следующие типы комментариев:
- Комментарии к запросам на слияние
- Комментарии к коммитам
Подходит для:
- Автоматизации комментариев ChatOps
Основные переменные событий комментариев (общие для всех событий комментариев)
3.1 Переменные комментариев к запросу на слияние
3.2 Переменные комментариев к коммитам
Руководство по настройке
Предварительные условия
- В вашей среде создан
EventListener, способный обрабатыватьTriggerв целевом пространстве имен. Пожалуйста, свяжитесь с вашим администратором платформы для получения дополнительной информации. - GitLab может получить доступ к упомянутому выше
EventListener. - Требуемый
Pipeline, а также необходимые настройки для его выполнения были созданы. - У вас есть разрешения на изменение настроек вебхука проекта GitLab.
Настройка вебхука через интерфейс GitLab
- Перейдите в настройки вашего проекта GitLab.
- Перейдите в Настройки > Вебхуки.
- Добавьте URL вебхука в зависимости от режима развертывания
EventListener, например, используя режимhttps: - Выберите необходимые типы событий:
- События коммита
- События запроса на слияние
- Комментарии
- (Необязательно) Настройте секретный токен.
- Нажмите "Добавить вебхук".
Пример настройки триггера для конвейера
Если цель состоит в том, чтобы реализовать непрерывную интеграцию с помощью триггера с следующими требованиями:
- Автоматически запускать функциональность CI при отправке кода.
- Автоматически запускать конвейер CI при открытии запроса на слияние.
Для упрощения этой документации мы предполагаем, что конвейер готов с предоставленными следующими параметрами:
Пожалуйста, замените на вашу фактическую информацию о конвейере.
Далее нам нужно только настроить два триггера ниже:
Создание триггера коммита
Сохраните следующий YAML как gitlab-push-trigger.yaml:
Создайте ресурс в окружении:
Создание триггера запроса на слияние
Сохраните следующий YAML как gitlab-merge-request-trigger.yaml:
Пожалуйста, при необходимости скорректируйте настройки Interceptor.
Создайте ресурс в окружении:
Проверка триггеров
Проверьте, отправив код и создав запрос на слияние.
CLI:
Вы можете получить статус выполнения конвейера, используя kubectl -n <namespace> get pipelinerun.
Консоль:
Перейдите в Pipelines > PipelineRuns, чтобы увидеть запущенные конвейеры.