Перейти к основному содержимому

Объединение заданий в dbt Cloud

Вы можете настроить задание на объединение, чтобы реализовать рабочий процесс непрерывного развертывания (CD) в dbt Cloud. Задание на объединение запускает выполнение задания dbt, когда кто-то объединяет pull-запросы Git в продакшн. Этот рабочий процесс создает бесшовный опыт разработки, при котором изменения в коде автоматически обновляют данные в продакшн. Также вы можете использовать этот рабочий процесс для выполнения dbt compile, чтобы обновить манифест вашей среды, что делает последующие запуски CI-заданий более производительными.

Используя CD в dbt Cloud, вы можете воспользоваться отложенным выполнением, чтобы строить только отредактированную модель и любые изменения вниз по потоку. С помощью заданий на объединение состояние будет обновляться почти мгновенно, всегда предоставляя самую актуальную информацию о состоянии в dbt Explorer.

Предварительные условия

  • У вас есть аккаунт в dbt Cloud.
  • Вы настроили подключение к вашему Git-провайдеру. Эта интеграция позволяет dbt Cloud запускать задания от вашего имени для их триггера.
    • Если вы используете нативную интеграцию с GitLab, вам нужен платный или самохостинг аккаунт, который включает поддержку вебхуков GitLab и токенов доступа к проекту. Если вы используете GitLab Free, запросы на слияние будут запускать CI-задания, но обновления статуса CI-заданий (успех или неудача задания) не будут сообщаться обратно в GitLab.
  • Для отложенного выполнения (которое является настройкой по умолчанию) убедитесь, что в среде, к которой вы откладываете выполнение, было хотя бы одно успешное выполнение задания.

Настройка триггера задания на слияние Git

  1. На странице вашей среды развертывания нажмите Создать задание > Задание на объединение.
  2. Опции в разделе Настройки задания:
    • Имя задания — Укажите имя для задания на объединение.
    • Описание — Предоставьте описание задания.
    • Среда — По умолчанию установлена среда, из которой вы создали задание.
  3. В разделе Git-триггер опция Запуск при слиянии включена по умолчанию. Каждый раз, когда PR сливается (в базовую ветку, настроенную в среде) в вашем Git-репозитории, это задание будет запускаться.
  4. Опции в разделе Настройки выполнения:
    • Команды — По умолчанию включает команду dbt build --select state:modified+. Это информирует dbt Cloud о необходимости строить только новые или измененные модели и их зависимые элементы. Важно, что сравнение состояния может происходить только тогда, когда выбрана отложенная среда для сравнения состояния. Нажмите Добавить команду, чтобы добавить больше команд, которые вы хотите вызвать при выполнении этого задания.
    • Сравнить изменения с — По умолчанию установлено сравнение изменений со средой, из которой вы создали задание. Эта опция позволяет dbt Cloud проверять состояние кода в PR по сравнению с кодом, работающим в отложенной среде, чтобы проверять только измененный код, вместо построения полной таблицы или всего DAG. Чтобы изменить настройки по умолчанию, вы можете выбрать Без отложенного выполнения, Это задание для самопроверки или выбрать другую среду.
  5. (опционально) Опции в разделе Расширенные настройки:
    • Переменные среды — Определите переменные среды, чтобы настроить поведение вашего проекта при выполнении этого задания.
    • Имя цели — Определите имя цели. Подобно переменным среды, эта опция позволяет настроить поведение проекта.
    • Тайм-аут выполнения — Отмените это задание, если время выполнения превышает значение тайм-аута.
    • Версия dbt — По умолчанию установлено наследование версии dbt из среды. dbt Labs настоятельно рекомендует не изменять настройку по умолчанию. Эта опция изменения версии на уровне задания полезна только при обновлении проекта до следующей версии dbt; в противном случае несоответствие версий между средой и заданием может привести к запутанному поведению.
    • Потоки — По умолчанию установлено 4 потока. Увеличьте количество потоков, чтобы увеличить параллелизм выполнения модели.
Пример создания задания на объединениеПример создания задания на объединение

Проверка событий push в Git

Задания на объединение требуют событий push, поэтому убедитесь, что они включены у вашего Git-провайдера, особенно если у вас уже есть существующая интеграция с Git. Однако для новой настройки интеграции вы можете пропустить эту проверку, так как события push обычно включены по умолчанию.

 Пример GitHub
 Пример GitLab
 Пример Azure DevOps
0