概要
dbtジョブを実際に実行する前に、TROCCOにGitリポジトリを連携する必要があります。

設定項目
| 項目名 | 必須 | 内容 |
|---|---|---|
| リポジトリURL | Yes | 対象となるリポジトリのURLを入力します。 GitSSH形式での入力にのみ対応しています。 |
| 認証方式 | Yes | dbt Gitリポジトリの認証方式を選択します。 Deploy KeyまたはGitHub Appを選択できます。 詳しくは、認証方式についてを参照ください。 |
| GitHub App インストール | Yes | 認証方式でGitHub Appを選択した場合に選択します。 インストール済みのGitHub Appの一覧から選択します。 |
| 参照タイプ | Yes | 参照先の種別を選択します。 「ブランチ」「タグ」「コミットハッシュ」のいずれかを指定できます。 詳しくは、参照タイプの使い分けを参照ください。 |
| ブランチ名 | Yes | 参照タイプでブランチを選択した場合に入力します。 対象となるブランチ名を指定してください。 |
| タグ名 | Yes | 参照タイプでタグを選択した場合に入力します。 対象となるタグ名を指定してください。 |
| コミットハッシュ | Yes | 参照タイプでコミットハッシュを選択した場合に入力します。 コミットハッシュを40桁の16進数(0-9、a-f)で指定してください。短縮形式や大文字は使用できません。 |
| サブディレクトリ | No | Gitリポジトリ内のサブディレクトリをプロジェクトディレクトリとして指定できます。dbt_project.ymlがルートディレクトリ直下にないようなケースに入力してください。なお、リポジトリのルートディレクトリをプロジェクトディレクトリとして指定する場合は、何も入力しないでください。 |
| dbt バージョン | Yes | 利用するdbt Coreのバージョンを選択できます。 |
認証方式について
dbt GitリポジトリとGitサーバーとの接続方法として、以下の2つの認証方式から選択できます。
| 認証方式 | 説明 |
|---|---|
| Deploy Key(デフォルト) | リポジトリ専用のDeploy Key(SSH公開鍵)を発行し、GitHub側に登録して接続します。 鍵の管理が必要ですが、github.comやGitHub Enterprise Server、GitLabなどで利用できます。 |
| GitHub App | GitHub個人用アカウントまたは組織にTROCCOのGitHub Appをインストールして接続します。 鍵の管理が不要になりますが、github.comのみ利用可能です。 |
GitHub App方式の制約
GitHub App方式を利用する際は、以下の制約があります。
- 対応サービス: github.comのみ対応しています。GitHub Enterprise Serverには対応していません。GitHub Enterprise Serverを利用する場合は、Deploy Key方式を使用してください。
- スコープ: read-onlyスコープ(cloneのみ)です。書き込み権限は付与されません。
- 一時停止・アンインストール時の影響: GitHub側でGitHub Appを一時停止またはアンインストールすると、dbtジョブ実行時にリポジトリのcloneを行わずエラーとして終了します。
GitHub App方式で必要なGitHubの権限・設定
GitHub App方式では、GitHub側での操作の可否がGitHubアカウント側のロール・権限によって決まります。ロールについては組織のロールを参照ください。
TROCCO側のロールとは別の観点になるため、以下を確認してください。
GitHub Appは「アカウント」に対してインストールする
GitHub Appは、リポジトリではなくGitHubアカウント(個人アカウントまたは組織)に対してインストールします。インストール時に、そのAppがアクセスできるリポジトリの範囲(すべて、または一部のリポジトリ)を選択します。TROCCOが提供するGitHub Appはリポジトリの読み取り(clone)専用で、書き込み権限や管理権限は要求しません。
詳しくは、GitHub App のインストールを参照ください。
インストールできる人
個人アカウントにインストールする場合、インストール可否の制限はありません。
組織(Organization)にインストールする場合、インストールできる人のロール・設定は以下のとおりです。記載したロール以外ではインストールできません。
- Owner
- Member
- 組織の
Settings→Member privileges→GitHub Appsで「Allow repository admins to install GitHub Apps for their repositories」が有効であり、かつ対象リポジトリのadmin権限を持つ場合に限ります。詳しくは、OAuth App・GitHub Appのアクセスリクエストとインストールの制限を参照ください。
- 組織の
インストールが承認リクエストとなった場合
組織にインストールする際、ご自身の権限や選択したリポジトリによっては、その場でインストールが完了せず、組織のOwnerへの承認リクエストとなることがあります。
この場合は、Ownerによる承認(インストール)が完了したあとに、あらためてTROCCOの画面からインストール済みの組織を選択して登録してください。
なお、送信された承認リクエストをGitHubの画面で後から確認できるのは組織のOwnerのみです。また、リクエストの状況はTROCCOの画面からは確認できません。
インストール後の設定変更・アンインストール
インストール済みGitHub Appの設定変更(アクセス対象リポジトリの変更、一時停止、アンインストール)は、その設定画面にアクセスできる組織のOwnerのみが行えます。
確認方法について、詳しくはインストール済みGitHub Appの確認・変更を参照ください。
参照タイプの使い分け
参照タイプは、dbtリポジトリ側のブランチ戦略やデプロイ運用に応じて選択します。
- ブランチ: リポジトリ側で開発環境用ブランチと本番環境用ブランチを分けて運用しているケースに適しています。たとえば、
developを開発環境、mainを本番環境として運用している場合、それぞれのブランチに対応するdbt Gitリポジトリ設定を作成して使い分けます。 - タグ: 環境ごとにdbt連携ジョブのバージョン切り替えを精緻に管理したいケースに適しています。たとえば、ステージング環境では先行のタグを参照し、検証成功を確認してから本番環境のタグを更新することで、安全なリリースフローを構築できます。
- コミットハッシュ: タグの上書きなどによるバージョンの取り違えを避け、コミット単位で厳密に振る舞いを固定したいケースに適しています。サプライチェーン上の懸念がある場合にも有効です。
同一のGitリポジトリに対して、参照タイプの異なる複数のdbt Gitリポジトリ設定を作成できます。
これにより、1つのGitリポジトリを共有しながら、環境ごとに異なるdbtジョブの実行を管理できます。
ロール・パーミッション
| 操作\ロール | リソースグループ管理者 | リソースグループ編集者 | リソースグループ運用者 | リソースグループ閲覧者 | ロール無し | 補足 |
|---|---|---|---|---|---|---|
| dbt Gitリポジトリの編集 | ✓ | ✓ | - | - | - | |
| dbt Gitリポジトリの削除 | ✓ | ✓ | - | - | - | |
| dbt Gitリポジトリの運用 | ✓ | ✓ | ✓ | - | - | dbtジョブ設定に利用できます。 |
| dbt Gitリポジトリの新規追加 | ✓ | ✓ | ✓ | ✓ | ✓ |
操作手順
新規追加
- dbt Gitリポジトリ一覧画面にて、新規追加をクリックします。
- dbt Gitリポジトリの新規作成画面にて、各項目を入力・選択します。
GitHub Enterpriseなどを用いて、Gitサーバーに対して特定のIPアドレス以外からのアクセスを拒否している場合は、TROCCOが通信に利用するIPアドレスに対してアクセスを許可してください。
セキュリティグループやファイアウォール等で許可頂く必要があるIPアドレス
認証方式にGitHub Appを利用する場合
- 認証方式でGitHub Appを選択します。
- GitHub App をインストールをクリックします。別ウィンドウでGitHubのインストール画面が開きます。
- インストール先(個人アカウントまたは組織)とリポジトリを選択し、インストールします。組織にインストールする場合、admin権限のないリポジトリを含めると、Ownerの承認が必要になることがあります。
- TROCCOの画面に戻り、GitHub App インストールの一覧から追加されたインストールを選択します。
- 他の項目を入力・選択し、保存をクリックします。
組織の設定やご自身の権限によっては、直接インストールできず、Ownerの承認・操作が必要になる場合があります。インストールできる人や必要な設定については、GitHub App方式で必要なGitHubの権限・設定を参照ください。
認証方式にDeploy Keyを利用する場合
- 認証方式でDeploy Keyを選択します。
- 保存をクリックします。
- 表示されるDeploy KeyをGitサーバーに登録します。
以下のURLからDeploy Keyを登録できます。
https://github.com/<GitHubユーザー名>/<リポジトリ名>/settings/keys
編集
- dbt Gitリポジトリ一覧画面にて、編集したいdbt Gitリポジトリをクリックします。
- dbt Gitリポジトリ編集画面にて、設定を編集し、保存をクリックします。
認証方式を変更すると、Deploy Keyは破棄・再発行されます。
認証方式がDeploy Keyの設定を一度GitHub Appに変更し、その後Deploy Keyに戻しても、Deploy Keyは引き継がれず再発行されます。
GitHub AppからDeploy Keyへの切り替え時は、新しいDeploy KeyをGitHub側に再登録しないと、dbtジョブの実行に失敗するため、注意してください。
削除
- dbt Gitリポジトリ一覧画面にて、削除したいdbt Gitリポジトリをクリックします。
- dbt Gitリポジトリ編集画面にて、赤枠内のアイコンをクリックし、削除をクリックします。
