
dbt CloudでGitLabリポジトリの設定を行いプロジェクトを作ってみる
かわばたです。
dbt CloudでGitLabリポジトリの設定を行いプロジェクトを作成していきます。
かわばたの観測上ですが、GitHubリポジトリの設定記事はよく見かけますがGitLabの設定はあまり見かけなかったので、改めて設定方法を確認する目的で本記事でまとめたいと思います。
GitHubの設定は下記記事が大変参考になりますので、ご確認ください。
検証環境と前提条件
検証環境
- dbt Cloudのアカウント
 - GitLabのアカウント
※dbt CloudはEnterprise版、GitLabはFree Planを使用しています。
※今回[Set Up a Database Connection]はSnowflakeを採用しますが、任意のwarehouseを選択いただいて問題ございません。 
前提条件
下記公式ドキュメントをベースに解説していきます。
前提として、dbt CloudのDeveloperおよびStarterプランとEnterpriseおよびEnterprise+プランで接続方法が異なり、今回はEnterpriseおよびEnterprise+プランの方法を実施していきます。
【公式ドキュメント】
Projectの新規作成
dbtで新しいプロジェクトを作成します。左側下部のアカウント名をクリックし、Account settingsを選択、Projectを開き右側上部の+New projectをクリックします。

下記画面に遷移するので、任意のプロジェクト名を記載します。完了後Continueを押下します。

Configure your development environmentを設定します。Connectionについて、プルダウンで既存の設定で接続することも可能です。また、新規で設定する場合は+Add new connectionを選択すると、新規接続設定画面へ遷移します。
Development credentialsのUsernameとPasswordを記載して、Test Connectionをクリックし、下記のようにCompleteと表示されれば接続が確立できているので、Saveを押下します。

GitLabとの接続
GitLabを接続するには、GitLabアカウントの管理者が以下の作業を行う必要があります。
- GitLab OAuthアプリケーションをセットアップする。
 - GitLabアプリをdbtに追加する。
 
管理者が上記ステップを完了した後、dbtの開発者は以下の作業を行う必要があります。
- dbtからGitLabで個人認証を行う。
 
GitLab OAuthアプリケーションのセットアップ
GitLabでOAuthアプリケーションを設定していきます。
- GitLabの画面左上部にある自分のアイコンを選択し、設定を押下します。
 

- ユーザー設定画面に遷移するので、アプリケーションを選択します。
 

- 
新しいアプリケーションを追加を押下します。

 - 
下記画面に遷移するので、Name・Redirect URIを記載し、非公開とapiにチェックを入れアプリケーションを保存します。

 
リダイレクトURIについて、
https://YOUR_ACCESS_URL/complete/gitlabのYOUR_ACCESS_URL部分をご利用のプランとリージョンに合わせます。下記ドキュメントを参考にしてください。
【アクセス、リージョン、IP アドレス】
【グループアプリケーション設定のドキュメント】
- 下記画面に遷移するので、問題なければ次に進むを押下しアプリケーションの作成が完了です。
この場面でアプリケーションIDやシークレットを保存しなくても後から確認することは可能です。 

※IP制限を使用している BusinessCriticalの場合は、適切なGitLab CIDR をIP制限ルールに追加したことを確認してください。GitLab接続が失敗する可能性があります。
GitLab OAuthアプリケーションをdbt Cloudへ接続
dbt Cloud画面へ戻り接続の設定をしていきます。
- 左側下部のアカウント名をクリックし、
Account settingsを選択、Integrationsを開き下記GitLabの設定をしていきます。 

| 分類 | 記載内容 | 
|---|---|
| GitLabインスタンス | https://gitlab.com | 
| アプリケーションID | 先ほどのアプリケーションから引用 | 
| シークレット | 先ほどのアプリケーションから引用 | 
※GitLabの特別にホストされたバージョンがある場合は、組織に提供されたホスト名を使用します。
例:https://gitlab.yourgreatcompany.com/
- 上記を確認し保存すると下記画面に遷移するので、問題なければ
Authorize dbt Cloudを押下します。 

Gitlab integration set up successfullyとなりセットアップが完了しました。

Projectのリポジトリ設定
続いてGitリポジトリの設定です。先ほど新規作成したProjectを選択します。
- 左側下部のアカウント名をクリックし、
Account settingsを選択、Projectを開き先ほど作成したProject名を検索し押下します。 

- 
下記画面に遷移するので、
Configure Repositoryを選択します。

 - 
下記画面のGitLabを選択します。GitLabの接続先が表示されているので押下します。
 

これでProjectへの紐づけが完了しました。
GitLabを確認
Studio IDEからInitialize your projectをクリックしプロジェクトを開始します。
下記のようにデフォルトで追加されたファイル構成をコミットしていきます。

Create a merge requestを押下します。

下記のようにGitLabのマージリクエスト画面に遷移するので必要事項を入力し、マージします。

mainが下記のようになり、しっかりと紐づいていることが確認できました。

最後に
いかがでしたでしょうか。
GitHubとGitLabも機能的な特徴があるので、利用用途に応じて選択する必要があると感じました。
GitLab接続時の参考になれば幸いです!








