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

Подключение к GitHub

Подключение учетной записи GitHub к dbt упрощает работу с dbt и обеспечивает дополнительный уровень безопасности:

  • Импортируйте новые репозитории GitHub за несколько нажатий при настройке проекта dbt.
  • Клонируйте репозитории по HTTPS вместо SSH.
  • Запускайте сборки непрерывной интеграции (CI) при открытии пул-реквестов в GitHub.
Домены GitHub Enterprise Cloud (ghe.com)

Если ваша организация использует GitHub Enterprise Cloud, размещенный в домене ghe.com, общее приложение GitHub для dbt не сможет получить к нему доступ. Обратите внимание: учетные записи ghe.com управляются в облаке (а не в локальной инфраструктуре), но это ограничение все равно действует.

Учетные записи Enterprise и Enterprise+ могут подключиться, зарегистрировав собственное приложение GitHub. На других тарифных планах используйте импорт проекта по URL Git с SSH-ключами или ключами развертывания. Настройка SSH URL вашей организации может потребовать дополнительных действий, а некоторые возможности встроенной интеграции недоступны при подключении по URL Git.

За дополнительной помощью с вашей конфигурацией обратитесь в службу поддержки dbt или к команде dbt, сопровождающей вашу учетную запись.

Предварительные требования​

  • Права доступа GitHub: Для установки приложения необходимо быть владельцем организации GitHub. Подробнее о ролях в организации GitHub.
  • Права доступа dbt: Владельцу вашей организации GitHub также требуются права Owner или Account Admin в dbt platform. При необходимости создайте для установки временную учетную запись с этими правами.
  • GitHub в локальной инфраструктуре или с размещением в ЕС: На тарифных планах Enterprise и Enterprise+ можно использовать встроенную интеграцию, зарегистрировав собственное приложение GitHub. На других тарифных планах подключайтесь по URL Git: этот способ поддерживает меньше возможностей Git.
Учет регистра в именах репозиториев

При указании репозитория GitHub в dbt platform через пользовательский интерфейс, API или провайдер Terraform имя репозитория должно в точности соответствовать регистру в URL GitHub, чтобы избежать ошибок клонирования или сбоев заданий. Например, если URL вашего репозитория — github.com/my-org/MyRepo, введите имя MyRepo, а не myrepo.

Выбор приложения GitHub​

dbt подключается к GitHub через приложение GitHub App. Есть два варианта:

Для одной учетной записи dbt можно использовать одно приложение GitHub, а не отдельное приложение для каждого проекта.

Установка dbt в учетной записи GitHub​

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

  1. В dbt нажмите на имя своей учетной записи в левом меню и выберите Account settings.
  2. Выберите Personal profile в разделе Your profile.
  3. Прокрутите страницу вниз до Linked accounts.
Переход к разделу Linked accounts в вашем профилеПереход к разделу Linked accounts в вашем профиле
  1. В разделе Linked accounts настройте подключение своей учетной записи GitHub к dbt, нажав Link справа от GitHub. Вы будете перенаправлены в свою учетную запись GitHub, где вам предложат установить и настроить приложение dbt.

  2. Выберите организацию GitHub и репозитории, к которым dbt должен иметь доступ.

    Установка приложения dbt в организации GitHubУстановка приложения dbt в организации GitHub
  3. Предоставьте приложению GitHub App для dbt следующие права:

    • Чтение метаданных (Metadata)
    • Чтение и запись проверок (Checks)
    • Чтение и запись статусов коммитов (Commit statuses)
    • Чтение и запись содержимого (Contents / Code)
    • Чтение и запись пул-реквестов (Pull requests)
    • Чтение и запись вебхуков (Webhooks)
    • Чтение и запись рабочих процессов (Workflows)
  4. После предоставления доступа приложению вы будете перенаправлены обратно в dbt и увидите подтверждение успешной привязки учетной записи. Теперь вы прошли персональную аутентификацию.

  5. Попросите участников команды пройти аутентификацию по отдельности, подключив свои личные профили GitHub.

Ограничение доступа к репозиториям в GitHub​

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

Настройка приложения dbtНастройка приложения dbt

Собственное приложение GitHub EnterpriseEnterprise +Закрытая бета-версия​

Доступно в рамках закрытого бета-тестирования

Настройка собственного приложения GitHub доступна в рамках закрытого бета-тестирования. Чтобы присоединиться, обратитесь к менеджеру вашей учетной записи.

Общее приложение GitHub App для dbt размещается отдельно в каждом регионе, поэтому оно может обращаться только к репозиториям на github.com. Если ваша организация использует GitHub Enterprise Server или GitHub с хранением данных в ЕС, зарегистрируйте собственное приложение GitHub и настройте dbt на его использование.

Администратор учетной записи (или администратор безопасности) может выполнить эту настройку один раз:

  1. Зарегистрируйте приложение GitHub в своей организации GitHub
  2. Добавьте свое приложение GitHub в dbt

Затем каждому разработчику в учетной записи необходимо повторно привязать свой профиль GitHub.

Регистрация приложения GitHub​

Доступность репозиториев

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

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

  1. В dbt перейдите в Account settings > Integrations > Git и разверните раздел GitHub. Нажмите Copy рядом с Redirect URL — этот адрес понадобится на следующем шаге.

  2. В своей организации GitHub перейдите в Settings > Developer settings > GitHub Apps и выберите New GitHub App.

  3. Введите следующие данные:

    ПолеЗначение
    GitHub App nameУзнаваемое имя, например dbt platform
    Homepage URLURL доступа к вашему dbt
    Redirect URLЗначение Redirect URL, скопированное из dbt
    WebhookОставьте флажок Active установленным и введите любой URL-заполнитель (например, https://example.com) в поле Webhook URL. dbt его не использует, но GitHub требует его указать
  4. Предоставьте приложению следующие права доступа к репозиториям:

    • Чтение метаданных (Metadata)
    • Чтение и запись проверок (Checks)
    • Чтение и запись статусов коммитов (Commit statuses)
    • Чтение и запись содержимого (Contents / Code)
    • Чтение и запись пул-реквестов (Pull requests)
    • Чтение и запись вебхуков (Webhooks)
    • Чтение и запись рабочих процессов (Workflows)
  5. Выберите Create GitHub App. GitHub создаст App ID и Client ID.

  6. Сгенерируйте Client secret и сохраните его в безопасном месте, поскольку GitHub показывает его только один раз.

  7. В разделе Private keys выберите Generate a private key. GitHub скачает файл .pem. Затем вам нужно будет вставить его содержимое в dbt.

  8. Установите приложение в своей организации и сохраните его URL установки. См. документацию GitHub о предоставлении доступа к приложению по ссылке установки.

Если вы используете тарифный план Business Critical с ограничениями по IP-адресам, убедитесь, что диапазоны CIDR вашего экземпляра GitHub разрешены, иначе подключение не будет работать.

Добавление своего приложения GitHub в dbt​

Существующие подключения к GitHub перестанут работать

Если ваша учетная запись уже использует общее приложение GitHub App для dbt, переключение на собственное приложение сделает недействительными все существующие привязки профилей GitHub. Каждому пользователю учетной записи потребуется повторно привязать свой профиль GitHub, прежде чем он сможет продолжить разработку или запускать CI. Согласуйте переход с командой.

  1. В dbt вернитесь в Account settings > Integrations > Git и разверните раздел GitHub.

  2. Введите следующие данные:

    ПолеЗначение
    GitHub base URLИмя хоста вашего GitHub. Используйте https://github.com для GitHub.com или собственное имя хоста для GitHub Enterprise Server, например https://github.yourgreatcompany.com
    App IDЗначение App ID вашего приложения GitHub
    Client IDЗначение Client ID вашего приложения GitHub
    Client secretСгенерированный вами секрет клиента
    Private keyПолное содержимое скачанного файла .pem, включая строки BEGIN и END
    Install URLНеобязательно. Ссылка для установки вашего приложения
    Добавление собственного приложения GitHub в разделе Account settings, Integrations, GitДобавление собственного приложения GitHub в разделе Account settings, Integrations, Git
  3. Выберите Save. dbt проверит учетные данные в GitHub. Если что-то не так, dbt покажет ошибку и не сохранит конфигурацию.

Теперь dbt выполняет всю авторизацию GitHub для этой учетной записи через ваше приложение.

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

  1. В dbt нажмите на имя своей учетной записи в левом меню и выберите Account settings.
  2. Выберите Personal profile в разделе Your profile.
  3. Прокрутите страницу до Linked accounts и нажмите Unlink рядом с GitHub, если старое подключение все еще отображается.
  4. Нажмите Link и авторизуйте приложение GitHub вашей организации.

Подробные инструкции приведены в разделе Аутентификация личной учетной записи GitHub.

Удаление интеграции с GitHub​

Администраторы учетной записи и администраторы безопасности могут удалить интеграцию с GitHub в разделе Account settings > Integrations > Git.

Удаление интеграции отключает всех пользователей

Удаление интеграции нарушает доступ к репозиториям и работу CI для всей учетной записи, пока вы не настроите новую интеграцию. Заранее подготовить замену нельзя, поскольку учетная запись поддерживает только одну интеграцию с GitHub одновременно.

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

Обратите внимание на следующие ограничения:

  • Одно приложение GitHub на учетную запись dbt. Нельзя задать отдельное приложение для каждого проекта.
  • Нельзя настроить несколько интеграций с GitHub в одной учетной записи.
  • Только администраторы учетной записи и администраторы безопасности могут создавать, обновлять или удалять интеграцию с GitHub.

Аутентификация личной учетной записи GitHub​

После того как администратор dbt настроит подключение к учетной записи GitHub вашей организации, вам необходимо пройти аутентификацию с помощью личной учетной записи. Вы должны подключить свой личный профиль GitHub к dbt, чтобы использовать Studio IDE и CLI и подтвердить свои права на чтение и запись в репозиторий.

Подключение профиля GitHub
  • Каждый разработчик dbt на тарифном плане Enterprise или Enterprise+ должен подключить свой профиль GitHub к dbt. Это необходимо, поскольку Studio IDE проверяет права каждого разработчика на чтение и запись в репозиторий dbt.

  • Разработчикам dbt на тарифном плане Starter не обязательно подключать свои профили GitHub, однако это все же рекомендуется.

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

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

  1. В dbt нажмите на имя своей учетной записи в левом меню и выберите Account settings.

  2. Выберите Personal profile в разделе Your profile.

  3. Прокрутите страницу вниз до Linked accounts. Если ваша учетная запись GitHub не подключена, вы увидите сообщение «No connected account».

  4. Нажмите Link, чтобы начать настройку. Вы будете перенаправлены в GitHub, где на экране предоставления разрешений вам предложат авторизовать dbt.

Авторизация приложения dbt для разработчиковАвторизация приложения dbt для разработчиков
  1. После подтверждения авторизации вы будете перенаправлены в dbt, где теперь должна отображаться подключенная учетная запись.

Теперь вы можете использовать Studio IDE или CLI dbt.

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

Как исправить мой файл .gitignore?
Как мигрировать между git-провайдерами
Почему dbt отклоняет данные моего собственного приложения GitHub?

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

0
Loading