Git 接続の設定とテスト

新しいプロジェクトを作成すると、そのプロジェクトは Development Mode でのみ存在し、他のユーザーに影響を与えない安全な環境でモデルを開発できます。プロジェクトを公開する準備ができたら、次のステップとして Git 接続を構成します。

プロジェクトの Git 接続を構成すると、LookML を本番環境モードにデプロイできます。これにより、他のユーザーがデータモデルを探索したり、ダッシュボードを作成したり、LookML をモデルに追加したりできるようになります。設定を迅速に行うには、ベアリポジトリを使用します。より堅牢な Git 統合のためには、独自の Git リポジトリを作成し、このページの手順に沿って Looker インスタンスに接続します。

Looker と Git の統合

Looker では、変更の記録とファイルのバージョン管理のために、Git を使用します。 各 LookML プロジェクトは 1 つの Git リポジトリに対応します。ユーザーが Development Mode になるとそのユーザーは独自の Git ブランチにいます。

LookML のソースファイルの管理では、認証に SSH 認証鍵または HTTPS を使用する Git プロバイダを使用して Looker を構成できます。使用するプラットフォームにかかわらず、一般的な手順は同じです。このページでは、Git リポジトリを作成した後、Looker プロジェクトを Git に接続する例として GitHub を使用します。

Git のインテグレーション オプションにアクセスするには、Development Mode をオンにする必要があります。

Git インテグレーションは、次のいずれかのプロトコルを使用して構成できます。

  • HTTPS: Hypertext Transfer Protocol SecureHTTPS では、HTTPS を使用した Git への接続で説明されているように、Looker は指定したユーザー名とパスワード(またはアクセス トークン)を使用して Git リポジトリにアクセスします。
  • SSH: Secure ShellSSH では、SSH を使用した Git への接続で説明されているように、Looker は Git プロバイダのウェブサイトを介して生成したデプロイキーを使用して Git リポジトリにアクセスします。

HTTPS を使用した Git への接続

HTTPS 認証で構成された LookML プロジェクトの場合、Looker は Git プロバイダで設定した 1 つ以上のユーザー アカウントを使用して Git プロバイダに接続します。Looker は、ユーザー名とパスワード(またはアクセス トークン)を使用して Git プロバイダにログインし、LookML デベロッパーに代わって Git オペレーションを実行します。

Git アカウントで 2 要素認証プロセスを使用している場合は、Git プロバイダにアクセスして、パスワードの代わりに使用するアクセス トークンを作成できます。一般的な Git プロバイダ向けの個人アクセス トークンの作成手順については、2FA 対応の HTTPS git 接続の設定コミュニティ投稿をご覧ください。

HTTPS 認証を使用すると、プロジェクト全体で 1 つの Git アカウントを使用するように LookML プロジェクトを構成することも、デベロッパーの個々の Git アカウントを使用して Git オペレーションを実行するようにプロジェクトを構成することもできます。

GitHub HTTPS 認証について、次の点に注意してください。

  • GitHub では、github.com での Git 操作の認証に使用するアカウント パスワードを受け付けていません。詳細については、GitHub のブログ投稿をご覧ください。HTTPS を使用して Looker プロジェクトを GitHub に接続するには、GitHub のデベロッパー設定を使用して個人用アクセス トークンを作成します。
  • Looker では、GitHub のきめ細かい個人用アクセス トークンがサポートされていません。HTTPS を使用して Looker プロジェクトを GitHub に接続するには、個人用のアクセス トークンを作成するときに GitHub のTokens (classic) のオプションを使用します。

単一アカウント HTTPS 認証

単一の Git アカウントで LookML プロジェクトを設定した場合、Looker はその Git アカウントを使用して Git プロバイダにログインし、デベロッパーの代わりに変更を commit します。Looker では、デベロッパーの Looker ユーザー名を使用してこれらの commit を行っているため、各デベロッパーがどの commit を実行したかがわかります。プロジェクトの commit 履歴は、Git プロバイダのインターフェース上で、または Looker IDE の [Git] メニューから [History] オプションを選択すると確認できます。 Looker での Git メニューの詳細については、Looker での Git コマンドの実行をご覧ください。

単一アカウントの HTTPS 認証では、指定する Git ユーザー アカウントに Git リポジトリに対する読み取り / 書き込み権限が必要です。LookML デベロッパー自身が独自の Git ユーザー アカウントを持つ必要はありません。

ユーザー属性を使用した複数のアカウント HTTPS 認証

複数のアカウントで LookML プロジェクトを設定した場合、LookML プロジェクトは各 Looker デベロッパーの個々の Git アカウントを使用して Git オペレーションを実行します。また、Looker が本番環境バージョンのファイルを pull するために使用する、少なくとも読み取りアクセス権を持つ汎用 Git ユーザー アカウントを 1 つ構成する必要があります。

ユーザー属性による Git 認証には、次のタスクと要件が必要です。

  • 各 LookML デベロッパーは、Git プロバイダで独自のユーザー アカウントを持っている必要があります。各 Git ユーザー アカウントには、プロジェクトのリポジトリへの読み取りと書き込みのアクセス権が必要です。
  • Looker 管理者は、Git ユーザー名とパスワードに対応するユーザー属性(Git ユーザー アカウントに 2 要素認証がある場合はアクセス トークン)を使用して、Looker ユーザー アカウントを設定する必要があります。
  • Git アカウント パスワード(またはアクセス トークン)のユーザー属性は非表示である必要があります。パスワード属性またはアクセス トークン属性を作成するとき、[値を非表示] オプションで [Yes] を選択し、[ドメイン許可リスト] フィールドに Git プロバイダの URL を入力します。
  • Git 名とパスワード(またはアクセス トークン)のユーザー属性は、Looker デベロッパーごとに入力する必要があります。ユーザー属性は、Looker 管理者または Looker ユーザーが構成できます。

次の例は、[ユーザー属性] 管理者ページを示しています。このページでは、Looker 管理者が Git ユーザー名とユーザー アクセス トークンのユーザー属性を設定します。

文字列型のユーザー属性 github_token と github_username を表示する [ユーザー属性] 管理者ページの表。

次の例は、ユーザーがユーザー属性フィールドに Git 認証情報を入力した Looker ユーザーの [アカウント] ページを示しています。

HTTPS Git 認証の構成

HTTPS Git 認証を使用して LookML プロジェクトを構成する手順は次のとおりです。

  1. Git リポジトリの HTTPS URL を取得します。GitHub の場合、新しいリポジトリ(まだファイルが含まれていないリポジトリ)に対して、GitHub は初期設定の一部として URL を表示します。[コード] タブの [HTTPS] ボタンを選択して HTTPS URL を取得し、[URL をクリップボードにコピー] アイコンを選択してクリップボードにコピーします。

    既存の GitHub リポジトリ(すでにファイルが含まれているリポジトリ)の場合は、リポジトリの [コード] タブに移動して [コード] ボタンを選択すると、HTTPS URL を確認できます。[HTTPS] リンクを必ず選択してください。[URL をクリップボードにコピー] アイコンを選択して、HTTPS URL をクリップボードにコピーできます。

  2. LookML プロジェクトに移動し、ナビゲーション バーで [設定] アイコンを選択します。

  3. [プロジェクト 設定] ページの [設定] タブで、[Git の構成] ボタン(新しいプロジェクトの場合)または [Git 接続のリセット] ボタン(以前に Git に接続している既存のプロジェクト用)に移動します。

  4. [Git の構成] または [Git 接続のリセット] ボタンを選択して、[Git の構成] ページを開きます。

    Git 接続をリセットしても、メインブランチの Git 履歴は保持されます。また、pull、マージ、デプロイが行われた際に、各 Looker デベロッパーの個人用ブランチの履歴も保持されます。すべてのブランチの履歴を保持するには、新しい Git リポジトリへの移行のベスト プラクティスのページをご覧ください。

  5. Looker の [Git を構成] ページで、[リポジトリの URL] フィールドに Git リポジトリの HTTPS URL を貼り付けて、[続行] を選択します。

    Looker が Git プロバイダを検出し、Git リポジトリに関する情報でウィンドウを更新します。

    Looker で Git プロバイダの検出に失敗した場合は、プルダウンから選択するよう求められます。

  6. Git ログイン オプションを選択します。

  7. [ユーザー名] と [パスワード/個人アクセス トークン] に、Git へのアクセスに LookML プロジェクトが使用する認証情報を入力します。これは、Git のログイン設定に関係なく必要です。

    • [単一の一定のユーザー名とパスワード / 個人用アクセス トークンの組み合わせを使用する] を選択した場合、これは、Looker インスタンスがすべての Git 操作に使用する Git ユーザー名とパスワード (またはアクセス トークン) となります。この Git ユーザー アカウントには、Git リポジトリへの読み取りおよび書き込みアクセス権限が必要です。
    • [ユーザー名とパスワード/個人アクセス トークンにユーザー属性を使用する] を選択した場合、これは、Looker インスタンスがリポジトリの本番バージョンを取得するために使用する Git ユーザー名とパスワード (またはアクセス トークン) となります。この Git ユーザー アカウントには、Git リポジトリへの読み取りアクセス権が必要です。

    Git アカウントで 2 要素認証を使用している場合や、GitHub を使用している場合(パスワードではなく個人用のアクセス トークンが必要)、Git プロバイダにアクセスして、パスワードの代わりに使用するアクセス トークンを作成できます。一般的な Git プロバイダ向けの個人アクセス トークンの作成手順については、2FA 対応の HTTPS git 接続の設定コミュニティ投稿をご覧ください。

  8. [Use user attributes for username and password/personal access token] を選択した場合、Looker には [Development Mode Credentials] セクションの [Username User Attribute] と [Personal Access Token User Attribute] プルダウンメニューが表示されます。プルダウン メニューを使用して、個々のデベロッパーの Git 認証情報のユーザー属性を選択します。

    (Looker ユーザーは [アカウント] ページでユーザー属性フィールドの値を編集できます。また、Looker 管理者は [ユーザー] 管理ページでユーザーのユーザー属性値を編集できます)。

  9. [Continue Setup] ボタンを選択します。

これで、LookML プロジェクト用に Git が構成されました。ここから、LookML を検証し、初期 commit を作成して本番環境にデプロイすることで、プロジェクトを本番環境モードで使用できるようにします。次の操作も行えます。

SSH を使用した Git への接続

SSH 認証では、Git プロバイダのデプロイキーを作成します。ステップ 4 に示すように、Looker で SSH 認証鍵ペアが生成され、UI に公開鍵が表示されます。Looker では、そのデプロイキーを使用して Git プロバイダにログインし、Looker デベロッパーに代わって変更を commit します。Looker では、デベロッパーの Looker ユーザー名を使用して commit を行っているため、各デベロッパーがどの commit を実行したかがわかります。プロジェクトの commit 履歴は、Git プロバイダのインターフェース上で、または Looker IDE の [Git] メニューから [History] オプションを選択すると確認できます。 Looker での Git メニューの詳細については、Looker での Git コマンドの実行をご覧ください。

SSH Git 認証を使用して LookML プロジェクトを構成する手順は次のとおりです。

  1. プロジェクトを開くか、新しい LookML プロジェクトを作成します
  2. プロジェクトで、左側のアイコン メニューから [設定] アイコンを選択し、[プロジェクトの構成] ページを開きます。
  3. [プロジェクト 設定] ページで、次のいずれかの操作を行って [Git の構成] ページを開きます。

    • Git 接続のないプロジェクトの場合は、[Git の構成] ボタンを選択します。
    • Git 接続ですでに構成されているプロジェクトの場合は、[Git 接続のリセット] ボタンを選択します。

    Git 接続をリセットしても、メインブランチの Git 履歴は保持されます。また、pull、マージ、デプロイが行われた際に、各 Looker デベロッパーの個人用ブランチの履歴も保持されます。すべてのブランチの履歴を保持するには、新しい Git リポジトリへの移行のベスト プラクティスのページをご覧ください。

    [Project Settings] ページから [Configure Git] ページへの進行を示す図。新しいプロジェクトには [Configure Git] ボタンが表示され、既存のプロジェクトには [Reset Git Connect] ボタンが表示されますが、いずれのボタンをクリックしても [Configure Git] ページが表示されます。

  4. Git リポジトリの SSH URL を取得します。一般的な Git プロバイダの形式は次のとおりです。

    • GitHub: git@github.com:<organization-name>/<repository-name>.git
    • GitHub Enterprise: git@example.com:<organization-name>/<repository-name>.git
    • Cloud Source Repositories: ssh://username@example.com@source.developers.google.com:2022/p/<project-id>/r/<repository-name>
    • GitLab: git@gitlab.com:<organization-name>/<repository-name>.git
    • Bitbucket: git@bitbucket.org:<organization-name>/<repository-name>.git
    • Phabricator: ssh://username@example.com/diffusion/MYCALLSIGN/<repository-name>.git

    GitHub の場合、新しいリポジトリ(まだファイルが含まれていないリポジトリ)に対して、GitHub は初期設定の一部として [コード] タブに SSH URL を表示します。[SSH] ボタンを選択して SSH URL を取得し、クリップボード アイコンを選択してクリップボードにコピーします。

    既存の GitHub リポジトリ(すでにファイルが含まれているリポジトリ)の場合は、リポジトリの [コード] タブに移動して [コード] ボタンを選択すると、SSH URL を確認できます。[SSH を使用する] リンクを必ず選択してください。クリップボードのアイコンを選択して、クリップボードにコピーできます。

  5. Looker の [Git を構成] ページで、[リポジトリの URL] フィールドに Git リポジトリのSSH URL を貼り付けて、[続行] を選択します。

    カスタム Git ポートまたは標準以外の Git ポートを含む URL を Looker で使用するには、標準以外のポート番号を Git URL に追加します。次に例を示します。ssh://git@corporate.git.server.com:22/myorganization/myproject.git

    これを正しく機能させるには、ssh:// を含める必要があります。

  6. Looker が Git プロバイダを検出し、リポジトリのデプロイキーを表示します。(Looker で Git プロバイダの検出に失敗した場合は、プルダウンから選択するよう求められます)。デプロイキーをクリップボードにコピーし、[Deploy Key settings for your repository] リンクを選択して、GitHub リポジトリの GitHub [Deploy keys] ページを開きます。

  7. [Deploy keys] ページの GitHub の [Settings] タブで、[Add deploy key] ボタンを選択します。

    GitHub に [Deploy keys / Add new] ページが表示されます。

  8. デプロイキーのタイトルを追加します。名前は重要ではありませんが、後で追跡できるように「Looker」とプロジェクトのタイトルを含めることをおすすめします。

  9. Looker からコピーしたデプロイキーを貼り付けます。

  10. [書き込みアクセスを許可] オプションを選択します。

  11. [Add key] ボタンを選択します。(この時点で、Git プロバイダからパスワードの入力を求められることがあります。その場合は、パスワードを入力して [Confirm password] を選択してください)。

  12. GitHub に、リポジトリに追加されたすべてのデプロイキーが表示されます。

  13. Looker ウィンドウに戻り、[Git の構成] ページで [設定のテストとファイナライズ] をクリックします。

ここで、デプロイキーの設定を再試行するか、[Skip Tests and Finalize Setup] を選択して現在の設定を維持できます。

これで、LookML プロジェクト用に Git が構成されました。ここから、LookML を検証し、初期 commit を作成して本番環境にデプロイすることで、プロジェクトを本番環境モードで使用できるようにします。次の操作も行えます。

ベア Git リポジトリの構成

リモートの Git リポジトリをまだ作成していない場合、または他のユーザーが LookML を活用できるようにすぐにセットアップしたい場合は、ベア Git リポジトリを構成できます。ベア Git リポジトリを構成すると、リモート リポジトリに接続する代わりに、Looker インスタンスにローカル Git リポジトリが作成されます。

ベア リポジトリを作成するオプションを選択すると、Looker は Looker サーバーにリポジトリを作成し、リポジトリの Git 履歴を開始します。

モデルの生成プロセス中に新しいプロジェクトを作成すると、プロジェクトは自動的にベア リポジトリで構成されます。

ベア Git リポジトリを使用して LookML プロジェクトを構成するには:

  1. プロジェクトを開くか、新しい LookML プロジェクトを作成します
  2. プロジェクトで、左側のアイコン メニューから [設定] アイコンを選択し、[プロジェクトの構成] ページを開きます。
  3. [プロジェクト 設定] ページで、次のいずれかの操作を行って [Git の構成] ページを開きます。

    • Git 接続のないプロジェクトの場合は、[Git の構成] ボタンを選択します。
    • Git 接続ですでに構成されているプロジェクトの場合は、[Git 接続のリセット] ボタンを選択します。

    Git 接続をリセットしても、メインブランチの Git 履歴は保持されます。また、pull、マージ、デプロイが行われた際に、各 Looker デベロッパーの個人用ブランチの履歴も保持されます。すべてのブランチの履歴を保持するには、新しい Git リポジトリへの移行のベスト プラクティスのページをご覧ください。

  4. [Git の構成] ページの下部にある [ベアリポジトリの設定] を選択します。

  5. [Configure Bare Git Repository] ダイアログで、[Create Repository] をクリックします。

    Git リポジトリが作成されると、Looker によって [Bare Repository Created] ダイアログが表示されます。

これで、LookML プロジェクト用に Git が構成されました。ここから、LookML を検証し、初期 commit を作成して本番環境にデプロイすることで、プロジェクトを本番環境モードで使用できるようにします。次の操作も行えます。

ベア リポジトリで構成されているプロジェクトについては、プロジェクトを Git プロバイダに接続する場合、後で Git 接続のリセットを使用できます(HTTPS または SSH の使用手順をご覧ください)。ただし、Git 履歴がある Git リポジトリには接続しないでください。ベア リポジトリで LookML プロジェクトを設定した場合、Looker は Looker サーバーにリポジトリを作成し、そのリポジトリの Git 履歴を開始します。その後、LookML プロジェクトを Git 履歴がある Git リポジトリに接続すると、Looker は 2 つの Git 履歴を調整できず、Git アクションを実行できなくなります。

新しい LookML プロジェクトの空ではない Git リポジトリへの接続

バージョン管理用に Git を構成することは、新しい LookML プロジェクトを作成する際の重要なステップです。通常、各プロジェクトには独自のリポジトリが必要です。ただし、次の状況では、既存の LookML を含む Git リポジトリを使用してプロジェクトを構成する必要があります。

  • 既存の LookML プロジェクトをインスタンス間で移動する場合
  • 新しいプロジェクトで使用するために、障害が発生した LookML プロジェクトからコードを再生成する場合

このセクションでは、LookML の開発を進めるために、空ではない既存の Git リポジトリを使用して新しい LookML プロジェクトを構成する際のベスト プラクティスについて説明します。

  1. 開始点として [空のプロジェクト] を選択して、新しい LookML プロジェクトを作成します。空のプロジェクトを開始点として選択します。これは、データベース スキーマや SQL クエリではなく、既存のリポジトリの LookML オブジェクトが入力されるためです。
  2. HTTPS または SSH と、[Git を構成] ページの [リポジトリ URL] セクションの空でないプロジェクトのための URL を使用して、プロジェクトの Git を構成します。
  3. プロジェクトの Git を構成したら、[Git アクション] パネルから本番環境から pull します。
  4. 本番環境から pull したら、[本番環境にデプロイ] を選択します

プロジェクト内の LookML に加えた変更は元のリポジトリには影響しません。変更はローカル バージョンのリポジトリに保存されます。

特定の公開リポジトリを空の LookML プロジェクトのベースとして使用するものの、そのリポジトリへの書き込みアクセス権がない場合は、新しい LookML プロジェクトの作成のドキュメント ページの公開 Git リポジトリのクローン作成セクションに概説されている手順に沿って操作してください。

複数のインスタンスにわたって 1 つのリポジトリを使用して Git ワークフローを設定する場合、詳細については、複数のリポジトリで 1 つのリポジトリを使用する Git ワークフロー - 開発、ステージング、本番環境に関するコミュニティ投稿をご覧ください。

Git 接続のテスト

Looker には、Git 接続を確認するための Git 接続テストがあります。Git 接続テストでは、正しい Git URL が設定されていることと、Looker から Git ホストにアクセス可能であることを確認します。また、Git 接続テストでは、有効な Git デプロイキーを提供したことと、デプロイキーが Git リポジトリへの書き込みアクセス権を持っていることも確認します。

Looker が Git リポジトリに接続できない場合は、[Git ボタン] に [Git 接続をテスト] というテキストが表示され、接続のトラブルシューティングを求められます。

[Git actions] パネルで [Test Git Connection] を選択して、Git 接続テストツールにアクセスすることもできます。

Git 接続テストツールに、Git 接続のテストに使用する手順が表示されます。

  1. git remote を調べる
  2. git サービスのホスト名が解決される
  3. git サービスへのネットワーキングが稼働している
  4. 認証情報を確認する
  5. 認証情報で書き込みアクセスが許可することを確認する

ステップが成功すると、Looker でステップの左側に緑色のチェックマークが表示されます。ステップが失敗すると、Looker でステップの左側に赤のチェックマークが表示され、エラー メッセージも表示されます。

次の例は、成功したテストを示しています。

すべてのステップが成功したことを示す緑色のチェックマークが付いているステップのリストを示す [Git Connection Test] ダイアログ。

次の例では、Git リポジトリに Looker 接続用のデプロイキーが構成されていません。最初の 3 つのステップの左側にある緑色のチェックマークは、これらのステップが成功したことを示しています。

  • Examine git remote
  • Host name for git service will resolve
  • Networking to the git service is operational

最後の 2 つの手順の左側にある赤いチェックマークは、これらのステップが失敗したことを示しています。

  • Verify authorization credentials
  • Ensure credentials allow write access

成功したステップと失敗したステップのリストを示す [Git Connection Test] ダイアログ。「認証情報を確認する」ステップでのエラーによって、「リモート(Looker のデプロイキー)への AUTH を実行できない」と表示されます。