Импорт проекта по URL-адресу git
В dbt Cloud вы можете импортировать git-репозиторий из любого действительного URL-адреса git, который указывает на проект dbt. При этом важно учитывать некоторые моменты.
Протоколы Git
Вы должны использовать версию вашего URL-адреса git git@...
или ssh:..
, а не https://...
. dbt Cloud использует протокол SSH для клонирования репозиториев, поэтому dbt Cloud не сможет клонировать репозитории, предоставленные с использованием протокола HTTP.
Управление ключами развертывания
После импорта проекта по URL-адресу Git, dbt Cloud сгенерирует ключ развертывания для вашего репозитория. Чтобы найти ключ развертывания в dbt Cloud:
- В dbt Cloud нажмите на имя вашей учетной записи в левом меню и выберите Настройки учетной записи.
- Перейдите в Проекты и выберите проект.
- Нажмите на ссылку Репозиторий, чтобы перейти на страницу сведений о репозитории.
- Скопируйте ключ в разделе Ключ развертывания.
Вы должны предоставить этот ключ развертывания в конфигурации репозитория вашего Git-хоста. Настройте этот ключ развертывания для предоставления доступа на чтение и запись к указанным репозиториям.
Примечание: Каждый проект dbt Cloud сгенерирует друго й ключ развертывания при подключении к репозиторию, даже если два проекта подключены к одному и тому же репозиторию. Вам потребуется предоставить оба ключа развертывания вашему Git-провайдеру.
GitHub
Если вы используете GitHub, вы можете импортировать ваш репозиторий напрямую, используя GitHub-приложение dbt Cloud. Подключение вашего репозитория через GitHub-приложение включает непрерывную интеграцию.
- Чтобы добавить ключ развертывания в учетную запись GitHub, перейдите на вкладку Deploy keys на странице настроек вашего репозитория GitHub.
- После указания имени для ключа развертывания и вставки вашего ключа развертывания (сгенерированного dbt Cloud), обязательно установите флажок Разрешить доступ на запись.
- После добавления этого ключа dbt Cloud сможет читать и записывать файлы в вашем проекте dbt.
- Обратитесь к Добавление ключа развертывания в GitHub
GitLab
Если вы используете GitLab, вы можете импортировать ваш репозиторий напрямую, используя GitLab-приложение dbt Cloud. Подключение вашего репозитория через GitLab-приложение включает непрерывную интеграцию.
- Чтобы добавить ключ развертывания в учетную запись GitLab, перейдите на вкладку SSH keys на странице настроек пользователя вашей учетной записи GitLab.
- Затем вставьте ключ развертывания, сгенерированный dbt Cloud для вашего репозитория.
- После сохранения этого SSH-ключа dbt Cloud сможет читать и записывать файлы в вашем репозитории GitLab.
- Обратитесь к Добавление ключа развертывания только для чтения в GitLab
BitBucket
Используйте ключ развертывания для импорта вашего репозитория BitBucket в dbt Cloud. Чтобы сохранить безопасность учетной записи, используйте служебную учетную запись для добавления ключа развертывания BitBucket и поддержания связи между вашим репозиторием BitBucket и dbt Cloud.
BitBucket связывает каждый коммит в репозитории и другие действия Git (например, открытие pull request) с электронной почтой, связанной с учетной записью пользователя Bitbucket.
Чтобы добавить ключ развертывания в учетную запись BitBucket:
- Перейдите на вкладку SSH keys на странице Personal Settings вашей учетной записи BitBucket.
- Затем нажмите кнопку Add key и вставьте ключ развертывания, сгенерированный dbt Cloud для вашего репозитория.
- После сохранения этого SSH-ключа dbt Cloud сможет читать и записывать файлы в вашем репозитории BitBucket.
AWS CodeCommit
dbt Cloud может работать с проектами dbt, размещенными на AWS CodeCommit, но для этого требуется выполнить несколько дополнительных шагов по сравнению с Github или другими git-провайдерами. Это руководство поможет вам подключить ваш проект dbt, размещенный на CodeCommit, к dbt Cloud.
Шаг 1: Создайте пользователя AWS для dbt Cloud
- Чтобы предоставить dbt Cloud доступ к вашему репозиторию, сначала вам нужно создать пользователя AWS IAM для dbt Cloud.
- Войдите в консоль AWS и перейдите в раздел IAM.
- Нажмите Add User и создайте нового пользователя, введя уникальное и значимое имя пользователя.
- Пользовате лю потребуется доступ на клонирование вашего репозитория. Вы можете сделать это, добавив разрешение AWSCodeCommitPowerUser во время настройки.
Шаг 2: Импортируйте ваш репозиторий по имени
- Откройте консоль AWS CodeCommit и выберите ваш репозиторий.
- Скопируйте SSH URL с этой страницы.
- Затем перейдите на страницу New Repository в dbt Cloud.
- Выберите вкладку Git Clone и вставьте SSH URL, который вы скопировали из консоли.
- На странице сведений о новом репозитории вы увидите поле Deploy Key.
- Скопируйте содержимое этого поля, так как оно понадобится вам для Шага 3.
Примечание: Сгенерированный dbt Cloud открытый ключ является единственным ключом, который будет работать на следующем шаге. Любой другой ключ, сгенерированный вн е dbt Cloud, не будет работать.
Шаг 3: Предоставьте доступ пользователю AWS dbt Cloud
- Откройте вновь созданного пользователя dbt Cloud в консоли AWS IAM.
- Выберите вкладку Security Credentials и затем нажмите Upload SSH public key.
- Вставьте содержимое поля Public Key со страницы репозитория dbt Cloud.
- После создания ключа вы увидите для него SSH key ID.
- Свяжитесь с поддержкой dbt и поделитесь этим полем, чтобы команда поддержки dbt могла завершить процесс настройки для вас.
Шаг 4: Укажите пользовательскую ветку в dbt Cloud
CodeCommit использует master
в качестве своей ветки по умолчанию, и для инициализации вашего проекта вам нужно будет указать ветку master
в качестве пользовательской ветки в dbt Cloud.
- Перейдите в Deploy -> Environments -> Development.
- Выберите Settings -> Edit и в разделе General Settings установите флажок Default to a custom branch.
- Укажите пользовательскую ветку как
master
и нажмите Save.
Шаг 5: Настройте URL-адреса шаблона pull request (необязательно)
Чтобы предотвратить прямое слияние изменений кода в ветку по умолчанию, настройте URL шаблона PR на странице Repository details для вашего проекта. После настройки dbt Cloud будет предлагать пользователям открыть новый PR после фиксации и синхронизации изменений кода в ветке в IDE, прежде чем сливать какие-либо изменения в ветку по умолчанию.
- Перейдите в Account Settings -> Projects -> Выберите проект.
- Нажмите на ссылку репозитория в разделе Repository.
- На странице Repository details нажмите Edit в нижнем правом углу.
- В поле Pull request URL укажите URL на основе предложенного формата шаблона PR.
- Замените
<repo>
на имя вашего репозитория (обратите внимание, что это чувствительно к регистру). В следующем примере имя репозиторияNew_Repo
. - После заполнения поля Pull request URL нажмите Save.
🎉 Вы готовы! Как только поддержка dbt обработает ваш запрос и вы настроите вашу пользовательскую ветку, ваш проект готов к выполнению запусков dbt в dbt Cloud.
Azure DevOps
Если вы используете Azure DevOps и у вас есть план dbt Cloud Enterprise, вы можете импортировать ваш репозиторий напрямую, используя интеграцию Azure DevOps dbt Cloud. Подключение вашего репозитория через приложение Azure DevOps включает непрерывную интеграцию.
-
Чтобы добавить ключ развертывания в учетную запись Azure DevOps, перейдите на страницу SSH public keys в настройках пользователя вашей учетной записи Azure DevOps или учетной записи служебного пользователя.
-
Мы рекомендуем использовать выделенного служебного пользователя для интеграции, чтобы гарантировать, что соединение dbt Cloud с Azure DevOps не будет прервано изменениями в разрешениях пользователя.
- Затем нажмите кнопку + New Key, чтобы создать новый SSH-ключ для репозитория.
-
Выберите описательное имя для ключа и затем вставьте ключ развертывания, сгенерированный dbt Cloud для вашего репозитория.
-
После сохранения этого SSH-ключа dbt Cloud сможет читать и записывать файлы в вашем репозитории Azure DevOps.
Другие git-провайдеры
Не видите здесь вашего git-провайдера? Пожалуйста, свяжитесь с поддержкой dbt - мы будем рады помочь вам настроить dbt Cloud с любым поддерживаемым git-провайдером.
Ограниченная интеграция
Некоторые функции dbt Cloud требуют тесной интеграции с вашим git-хостом, например, обновление pull request в GitHub с состояниями запусков dbt Cloud. Импорт вашего проекта по URL-адресу не позволяет использовать эти функции. После того как вы предоставите dbt Cloud доступ к вашему репозиторию, вы можете продолжить настройку вашего проекта, добавив соединение и создав и запустив вашу первую задачу dbt Cloud.