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

Подключение через Git clone

В dbt вы можете импортировать git‑репозиторий по любому корректному git URL, который указывает на dbt‑проект. При этом есть несколько важных моментов, которые нужно учитывать.

Протоколы Git

Вы должны использовать версию git URL в формате git@... или ssh://..., а не https://.... dbt использует SSH‑протокол для клонирования репозиториев, поэтому dbt не сможет клонировать репозитории, указанные с использованием HTTP‑протокола.

Преобразование SSH URL в корректный формат

Когда вы копируете SSH URL из вашего git‑провайдера (обычно он находится в CodeCloneSSH), он может быть в формате SCP, где для разделения хоста и пути используется двоеточие (:). Для dbt такой URL необходимо преобразовать в стандартный формат SSH.

Если ваш SSH URL выглядит так (SCP‑стиль с двоеточием):

git@github.com:organization/repo-name.git
user@custom-host.example.com:organization/repo-name.git

Преобразуйте его в стандартный SSH URL (используется ssh:// и /):

ssh://git@github.com/organization/repo-name.git
ssh://user@custom-host.example.com/organization/repo-name.git

Доступность функций в зависимости от Git‑провайдера

В следующей таблице приведены доступные варианты интеграции и соответствующие им возможности.

Git‑провайдерНативная интеграция с dbtАвтоматизированное CI‑заданиеGit cloneИнформацияПоддерживаемые планы
Azure DevOps
Организации на планах Starter и Developer могут подключаться к Azure DevOps с использованием deploy key. Обратите внимание: вы не сможете настраивать автоматизированные CI‑задания, но при этом сможете вести разработку.Enterprise, Enterprise+
GitHub
Все планы dbt
GitLab
Все планы dbt
Все остальные git‑провайдеры при использовании Git clone (BitBucket, AWS CodeCommit и другие)См. руководство Customizing CI/CD with custom pipelines для настройки continuous integration и continuous deployment (CI/CD).
Loading table...

Управление deploy keys

После импорта проекта по Git URL dbt сгенерирует Deploy Key для вашего репозитория. Чтобы найти этот Deploy Key в dbt:

  1. В dbt нажмите на имя своей учетной записи в левом боковом меню и выберите Account settings.
  2. Перейдите в раздел Projects и выберите нужный проект.
  3. Нажмите на ссылку Repository, чтобы открыть страницу с деталями репозитория.
  4. Скопируйте ключ в разделе Deploy Key.

Этот Deploy Key необходимо добавить в настройках репозитория у вашего Git‑провайдера. Настройте его так, чтобы он имел доступ на чтение и запись к соответствующим репозиториям.

На заметку: Каждый проект в dbt будет генерировать свой собственный deploy key при подключении к репозиторию, даже если два проекта подключены к одному и тому же репозиторию. Вам потребуется добавить оба deploy key у вашего Git‑провайдера.

GitHub

Используете GitHub?

Если вы используете GitHub, вы можете импортировать свой репозиторий напрямую с помощью GitHub Application от dbt. Подключение репозитория через GitHub Application включает Continuous Integration.

Найдите ваш SSH URL

  1. Перейдите в свой репозиторий на GitHub.
  2. Нажмите кнопку Code.
  3. Выберите вкладку SSH, чтобы увидеть SSH URL для клонирования.
  4. Скопируйте URL и при необходимости преобразуйте его в корректный формат.

Добавьте deploy key

Чтобы добавить deploy key в GitHub, перейдите на вкладку Deploy keys на странице настроек вашего репозитория GitHub.

  • Укажите имя для deploy key и вставьте сам deploy key (сгенерированный dbt), затем обязательно установите флажок Allow write access.
  • После добавления этого ключа dbt сможет читать и записывать файлы в вашем dbt-проекте.
  • Подробнее см. в документации GitHub: Adding a deploy key in GitHub
Настройка ключа развертывания GitHubНастройка ключа развертывания GitHub

GitLab

Используете GitLab?

Если вы используете GitLab, вы можете импортировать свой репозиторий напрямую с помощью GitLab Application от dbt. Подключение репозитория через GitLab Application включает Continuous Integration.

  • Чтобы добавить deploy key в аккаунт GitLab, перейдите на вкладку SSH keys на странице User Settings вашего аккаунта GitLab.
  • Затем вставьте deploy key, сгенерированный dbt для вашего репозитория.
  • После сохранения этого SSH-ключа dbt сможет читать и записывать файлы в вашем GitLab-репозитории.
  • См. также: Adding a read only deploy key in GitLab
Настройка SSH-ключа GitLabНастройка SSH-ключа GitLab

BitBucket

Используйте deploy key, чтобы импортировать ваш репозиторий BitBucket в dbt. Чтобы сохранить безопасность учетной записи, используйте сервисную учетную запись для добавления deploy key BitBucket и поддержания соединения между вашим репозиторием BitBucket и dbt.

BitBucket связывает каждый коммит в репозитории и другие действия Git (например, открытие pull request) с адресом электронной почты, связанным с учетной записью пользователя Bitbucket.

Чтобы добавить ключ развертывания в учетную запись BitBucket:

  • Перейдите на вкладку SSH keys на странице Personal Settings вашего аккаунта BitBucket.
  • Затем нажмите кнопку Add key и вставьте deploy key, сгенерированный dbt для вашего репозитория.
  • После сохранения этого SSH-ключа dbt сможет читать и записывать файлы в вашем репозитории BitBucket.
Настройка SSH-ключа BitBucketНастройка SSH-ключа BitBucket

AWS CodeCommit

dbt может работать с dbt‑проектами, размещёнными в AWS CodeCommit, однако по сравнению с GitHub или другими git‑провайдерами требуется выполнить несколько дополнительных шагов. В этом руководстве описано, как подключить dbt‑проект, размещённый в CodeCommit, к dbt.

AWS прекращает поддержку git‑хостинга CodeCommit

AWS CodeCommit больше недоступен для новых клиентов, а существующие клиенты получают только обновления безопасности и производительности. Подробнее см. в статье о миграции на другого git‑провайдера.

Шаг 1: Создайте пользователя AWS для dbt

  • Чтобы предоставить dbt доступ к вашему репозиторию, сначала необходимо создать пользователя AWS IAM для dbt.
  • Войдите в AWS Console и перейдите в раздел IAM.
  • Нажмите Add User и создайте нового пользователя, указав уникальное и понятное имя.
  • Пользователю потребуется доступ на клонирование репозитория. Это можно обеспечить, добавив разрешение AWSCodeCommitPowerUser во время настройки.

Шаг 2: Импортируйте репозиторий по имени

  • Откройте консоль AWS CodeCommit и выберите ваш репозиторий.
  • Скопируйте SSH URL на этой странице.
  • Затем перейдите на страницу New Repository в dbt.
  • Выберите вкладку Git Clone и вставьте SSH URL, скопированный из консоли.
  • На странице с деталями только что созданного репозитория вы увидите поле Deploy Key.
  • Скопируйте содержимое этого поля — оно понадобится вам на Шаге 3.

Примечание: публичный ключ, сгенерированный dbt, — единственный ключ, который будет работать на следующем шаге. Любой другой ключ, созданный вне dbt, работать не будет.

Шаг 3: Предоставьте пользователю AWS для dbt доступ

  • Откройте только что созданного пользователя dbt в консоли AWS IAM.
  • Перейдите на вкладку Security Credentials и нажмите Upload SSH public key.
  • Вставьте содержимое поля Public Key со страницы репозитория в dbt.
  • После создания ключа вы увидите для него значение SSH key ID.
  • Свяжитесь со службой поддержки dbt и передайте им это значение, чтобы команда поддержки dbt могла завершить процесс настройки.

Шаг 4: Укажите пользовательскую ветку в dbt

CodeCommit использует master в качестве ветки по умолчанию. Для инициализации проекта вам необходимо указать ветку master как custom branch в dbt.

  • Перейдите в Deploy -> Environments -> Development.
  • Выберите Settings -> Edit и в разделе General Settings установите флажок Default to a custom branch.
  • Укажите пользовательскую ветку как master и нажмите Save.

Шаг 5: Настройте URL-адреса шаблона pull request (необязательно)

Чтобы предотвратить прямое слияние изменений кода в ветку по умолчанию, настройте PR Template URL на странице Repository details вашего проекта. После настройки dbt будет предлагать пользователям открыть новый PR после коммита и синхронизации изменений кода в ветке в Studio IDE, прежде чем сливать какие‑либо изменения в ветку по умолчанию.

  • Перейдите в Account Settings -> Projects -> выберите проект.
  • Нажмите на ссылку репозитория в разделе Repository.
  • На странице Repository details нажмите Edit в правом нижнем углу.
    Настройка шаблона PR на странице «Repository details».Настройка шаблона PR на странице «Repository details».
  • В поле Pull request URL укажите URL на основе рекомендуемого формата PR template.
  • Замените <repo> на имя вашего репозитория (обратите внимание, что регистр символов имеет значение). В следующем примере имя репозитория — New_Repo.
    В примере поля Pull request URL имя репозитория — «New_Repo».В примере поля Pull request URL имя репозитория — «New_Repo».
  • После заполнения поля Pull request URL нажмите Save.

🎉 Готово! После того как служба поддержки dbt обработает ваш запрос и вы настроите пользовательскую ветку, ваш проект будет готов к выполнению dbt‑запусков в dbt.

Azure DevOps

Используете Azure DevOps?

Если вы используете Azure DevOps и у вас тариф dbt Enterprise или Enterprise+, вы можете импортировать ваш репозиторий напрямую с помощью интеграции dbt с Azure DevOps. Подключение репозитория через приложение Azure DevOps включает Continuous Integration.

  1. Чтобы добавить ключ развертывания в учетную запись Azure DevOps, перейдите на страницу SSH public keys в настройках пользователя вашей учетной записи Azure DevOps или учетной записи служебного пользователя.

  2. Мы рекомендуем использовать выделенную сервисную учётную запись для интеграции, чтобы подключение dbt к Azure DevOps не прерывалось из‑за изменений прав доступа у пользователей.

Перейдите на страницу настроек 'SSH public keys'Перейдите на страницу настроек 'SSH public keys'
  1. Затем нажмите кнопку + New Key, чтобы создать новый SSH-ключ для репозитория.
Нажмите кнопку '+ New Key', чтобы создать новый SSH-ключ для репозитория.Нажмите кнопку '+ New Key', чтобы создать новый SSH-ключ для репозитория.
  1. Выберите понятное и описательное имя для ключа, затем вставьте deploy key, сгенерированный dbt для вашего репозитория.

  2. После сохранения этого SSH-ключа dbt сможет читать и записывать файлы в ваш репозиторий Azure DevOps.

Введите и сохраните публичный ключ, сгенерированный dbt для вашего репозиторияВведите и сохраните публичный ключ, сгенерированный dbt для вашего репозитория

Другие git-провайдеры

Не видите здесь своего git‑провайдера? Пожалуйста, свяжитесь со службой поддержки dbt — мы с радостью поможем вам настроить dbt с любым поддерживаемым git‑провайдером.

Ограниченная интеграция

Некоторые возможности dbt требуют тесной интеграции с вашим git‑хостингом, например обновление pull request’ов в GitHub статусами запусков dbt. Импорт проекта по URL не позволяет использовать эти функции. После того как вы предоставите dbt доступ к вашему репозиторию, вы сможете продолжить настройку проекта, добавив подключение, а затем создав и запустив свою первую задачу dbt.

Часто задаваемые вопросы

Как исправить мой файл .gitignore?
Как мигрировать между git-провайдерами

Нашли ошибку?

0
Loading