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

Подключение с помощью Git clone

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

Протоколы Git​

Используйте SSH URL для клонирования репозитория. dbt поддерживает оба распространённых формата SSH:

  • git@github.com:organization/repo-name.git
  • ssh://git@github.com/organization/repo-name.git

Не используйте https://... и другие HTTP URL. dbt клонирует репозитории по SSH и не может клонировать репозитории, использующие протокол HTTP.

Преобразование SSH URL в ssh://​

Git-провайдеры часто показывают SSH URL для клонирования в формате SCP — с двоеточием между хостом и путём к репозиторию (обычно в разделе Code -> Clone -> SSH).

Пример формата SCP с двоеточием:

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

Если вы предпочитаете URL вида ssh://, его можно преобразовать следующим образом. В эквивалентном формате ssh:// после хоста используется косая черта:

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

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

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

Git-провайдерВстроенная интеграция с dbtАвтоматизированное задание CIGit cloneИнформацияПоддерживаемые тарифные планы
Azure DevOps
✅✅✅Организации на тарифных планах Starter и Developer могут подключаться к Azure DevOps с помощью ключа развертывания. Обратите внимание: вы не сможете настроить автоматизированные задания CI, но по-прежнему сможете вести разработку.Enterprise, Enterprise+
GitHub
✅✅✅Все тарифные планы dbt
GitLab
✅✅✅Все тарифные планы dbt
Все остальные Git-провайдеры, подключаемые с помощью Git clone (BitBucket, AWS CodeCommit и другие)❌❌✅Чтобы настроить непрерывную интеграцию и непрерывное развертывание (CI/CD), обратитесь к руководству Настройка CI/CD с использованием собственных конвейеров.

Управление ключами развёртывания​

После импорта проекта по URL Git платформа dbt создаст ключ развёртывания (Deploy Key) для вашего репозитория. Чтобы найти ключ развёртывания в dbt:

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

Этот ключ развёртывания необходимо добавить в настройки репозитория у вашего Git-провайдера. Настройте для этого ключа доступ на чтение и запись к указанным репозиториям.

Примечание: Для каждого проекта dbt при подключении к репозиторию создаётся отдельный ключ развёртывания, даже если два проекта подключены к одному репозиторию. Вам потребуется добавить оба ключа развёртывания у вашего Git-провайдера.

Устранение ошибок клонирования​

Если dbt не может клонировать репозиторий после его подключения по git URL, обычно причина в одном из следующих обстоятельств:

  • Некорректный URL: Убедитесь, что путь к репозиторию указан верно, репозиторий существует и вы используете SSH URL для клонирования (git@... или ssh://...). Не используйте https://... и другие HTTP URL.
  • Ваш git-провайдер недоступен: Проверьте страницу состояния вашего провайдера (например, GitHub, GitLab, Bitbucket, Azure DevOps) и повторите попытку после восстановления работы сервиса.
  • Неверно настроен доступ по SSH: Убедитесь, что ключ развёртывания, созданный dbt, добавлен в репозиторий с необходимыми правами доступа (включая доступ на запись, если он требуется). Если ваша организация ограничивает использование SSH-ключей, согласуйте с администраторами разрешение на использование ключей развёртывания для репозитория.

Если подключиться по-прежнему не удаётся, обратитесь в службу поддержки dbt и укажите URL репозитория, который вы используете, а также время возникновения ошибки.

GitHub​

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

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

Найдите свой SSH URL​

  1. Перейдите в свой репозиторий на GitHub.
  2. Нажмите кнопку Code.
  3. Выберите вкладку SSH, чтобы увидеть SSH URL для клонирования.
  4. Скопируйте URL со вкладки SSH. Поддерживаются URL как в формате SCP (git@...), так и в формате ssh://.... Если вам нужен формат ssh://, см. раздел Преобразование SSH URL в ssh://.

Добавьте ключ развёртывания​

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

  • Укажите имя ключа развёртывания и вставьте ключ, созданный dbt, затем обязательно установите флажок Allow write access.
  • После добавления этого ключа dbt сможет читать и записывать файлы в вашем проекте dbt.
  • См. Добавление ключа развёртывания в GitHub
Настройка ключа развёртывания GitHubНастройка ключа развёртывания GitHub

GitLab​

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

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

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

BitBucket​

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

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

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

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

AWS CodeCommit​

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

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

  • Чтобы предоставить dbt доступ к вашему репозиторию, сначала необходимо создать пользователя AWS IAM для dbt.
  • Войдите в консоль AWS и перейдите в раздел 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 со страницы Repository в dbt.
  • После создания ключа вы увидите его SSH key ID.
  • Обратитесь в службу поддержки dbt и передайте значение этого поля, чтобы специалисты службы поддержки dbt могли завершить настройку.

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

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

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

Шаг 5: Настройте URL шаблона пул-реквеста (необязательно)​

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

  • Перейдите в Account Settings -> Projects -> выберите проект.
  • Нажмите ссылку на репозиторий в разделе Repository.
  • На странице Repository details нажмите Edit в правом нижнем углу.
    Настройка шаблона пул-реквеста на странице 'Repository details'.Настройка шаблона пул-реквеста на странице 'Repository details'.
  • В поле Pull request URL укажите URL в соответствии с предложенным форматом шаблона пул-реквеста.
  • Замените <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+, можно импортировать репозиторий напрямую с помощью интеграции Azure DevOps для dbt. Подключение репозитория через приложение Azure DevOps позволяет использовать непрерывную интеграцию.

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

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

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

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

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

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

Не нашли здесь своего git-провайдера? Обратитесь в службу поддержки dbt. Мы будем рады помочь вам настроить dbt для работы с любым поддерживаемым git-провайдером.

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

Для некоторых функций dbt требуется тесная интеграция с вашим git-хостингом, например для обновления пул-реквестов GitHub статусами запусков dbt. При импорте проекта по URL эти функции недоступны. После предоставления dbt доступа к репозиторию можно продолжить настройку проекта: добавить подключение, создать и запустить своё первое задание dbt.

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

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

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

0
Loading