高度なデプロイモード

Looker のデフォルトの Git 統合では、Looker デベロッパーが開発ブランチに変更を commit し、開発ブランチを本番環境ブランチにマージします。Looker 環境にデプロイすると、Looker は本番環境ブランチで最新の commit を使用します(デフォルトの Git ワークフローと、高度な Git 実装のためのその他のオプションについては、バージョン管理機能の使用とデプロイのドキュメント ページをご覧ください)。

本番環境ブランチでの最新の commit を Looker 環境で使用したくない高度な Git 実装の場合、Looker 管理者は高度なデプロイモードを有効にします。高度なデプロイモードを有効にすると、deploy 権限を持つデベロッパーが、本番環境ブランチの最新の commit を使用する代わりに、Looker 本番環境にデプロイする別の commit SHA またはタグを指定できます。別のブランチから commit をデプロイする場合は、高度なデプロイモードである Webhook または API エンドポイントを使用できます。

高度なデプロイモードでは、各環境で異なるバージョンのコードベースを指すマルチ環境デベロッパー ワークフローにリポジトリを統合できます。また、1 人以上の開発者または管理者が、本番環境にデプロイされる変更を詳細に制御できます。

高度なデプロイモードが有効になっている場合、Looker は、変更を本番環境にデプロイするよう求めるプロンプトをデベロッパーに表示しません。代わりに、変更を本番環境ブランチにマージするように促されます。ここから変更をデプロイする方法は次のとおりです。

高度なデプロイモードの有効化

高度なデプロイモードを有効にするには:

  1. 左側のアイコン メニューから [設定] を選択して、[プロジェクト設定] ページの [構成] タブに移動します。
  2. [デプロイメント] セクションで、[Enable Advanced Deploy Mode] の横にあるチェックボックスをオンにします。
  3. [Save Project Configuration] ボタンを選択して、変更を保存します。

高度なデプロイモードでのバージョン管理

高度なデプロイモードが有効な場合、デベロッパーは Looker から本番環境へのデプロイができなくなります。代わりに、デベロッパーが commit するときに、本番環境へのデプロイを促すのではなく、変更をプライマリ ブランチにマージするよう促す [Git ボタン] が表示されます。

変更は、WebhookAPIDeployment Manager のいずれかを使用して本番環境にデプロイされます。

Deployment Manager

高度なデプロイモードが有効になっているプロジェクトの場合、deploy 権限を持つ Looker デベロッパーは、Deployment Manager を使って Looker 本番環境に commit やタグをデプロイできます。

アイコン メニューから [デプロイ] アイコンを選択すると、Deployment Manager にアクセスできます。

Deployment Manager には、高度なデプロイモードで以前にデプロイされたすべての commit とタグが表示されます。

高度なデプロイモードを使用して commit をまだデプロイしていない場合は、[commit を選択] ボタンをクリックして、Looker デベロッパーが本番環境ブランチにマージした commit を含む commit 履歴を確認します。

高度なデプロイモードを使用して commit をデプロイしたプロジェクトの場合、commit 履歴には、commit の関連タグ(ある場合)とどの commit が現在本番環境で使用されているかも示されます。

デプロイされた commit よりも新しい commit が本番環境ブランチにある場合、Deployment Manager にはこの情報が表示され、Looker デベロッパーが本番環境ブランチにマージした最新の commit が表示されます。

Deployment Manager から commit をデプロイする

Deployment Manager から commit をデプロイする方法は複数あります。

  1. まだデプロイされていない commit をデプロイするには、[Select Commit] ボタンをクリックして、リモート本番環境ブランチにマージされたすべての commit から選択します(別のブランチから commit をデプロイする場合は、高度なデプロイモードである Webhook または API エンドポイントを使用します)。
  2. リモート本番環境ブランチに、最後にマージされた commit をデプロイするには、[Deploy Latest] ボタンをクリックします。
  3. 以前にデプロイした commit またはタグをデプロイするには、Deployment Manager のその他アイコンの [オプション] メニュー をクリックし、[本番環境にデプロイする] を選択します。

まだデプロイしていない commit を選択した場合、Deployment Manager に [commit をデプロイ] メニューが表示されます。[commit をデプロイ] メニューから commit をデプロイするには、次の手順を行います。

  1. タグを割り当てずに commit をデプロイするには、[Deploy without tagging] を選択して、[Deploy to Environment] を選択します。それ以外の場合は、[Tag and deploy] オプションを選択したままにします。
  2. commit のタグを指定します。Git タグは、リリース履歴やバージョン名など、リポジトリの履歴内の commit の重要性を表します。Git タグについては、次の点にご注意ください。

    • Git タグは Git リポジトリ内で一意である必要があります。リポジトリ内の 2 つの異なる commit に同じタグは使用できません。
    • Git タグにはスペースや特定の特殊文字を含めることはできません。Git で参照の命名規則については、Git リファレンスのドキュメントをご覧ください。
  3. 必要に応じて、タグの説明を追加して、commit の詳細を指定できます。

  4. [Deploy to Environment] を選択して、Looker インスタンスの本番環境バージョンに commit をデプロイします。

commit をデプロイすると、Deployment Manager によって、その commit が Looker 本番環境の現在のバージョンとしてマークされます。

Webhook によるデプロイ

詳細デプロイモードのプロジェクトでは、デプロイ Webhook を使用して本番環境に変更をデプロイできます。

デプロイ Webhook を設定するには、まず [Project Settings] ページで、Looker プロジェクトで使用する Webhook シークレットを追加する必要があります。これにより、承認済みの担当者だけがデプロイ Webhook をトリガーできるようになります。

高度なデプロイモードを有効にして本番環境に変更をデプロイするには、2 つの Webhook を使用できます。一つはブランチの先頭をデプロイするためのもので、もう一つは特定の Git SHA またはタグをデプロイするためのものです。

ブランチの先頭をデプロイするための Webhook では、次の形式を使用します。

<Looker URL>/webhooks/projects/<LookML project name>/deploy/branch/<Git branch name>

commit SHA またはタグをデプロイするための Webhook では、次の形式を使用します。

<Looker URL>/webhooks/projects/<LookML project name>/deploy/ref/<commit SHA or tag>

山かっこ < > 内の情報を、インスタンスのアドレス、LookML プロジェクト、ブランチ名、または SHA/commit 固有の情報に置き換えます。e_faa プロジェクトの v1.0 タグ名を docsexamples.dev.looker.com Looker インスタンスにデプロイする Webhook の例を次に示します。

https://docsexamples.dev.looker.com/webhooks/projects/e_faa/deploy/ref/v1.0

API によるデプロイ

詳細デプロイモードのプロジェクトでは、Looker API を使用して変更を本番環境にデプロイできます。

API を使用してデプロイするには、呼び出しを行う API ユーザーに deploy 権限が必要です。Looker API の認証と使用の詳細については、Looker API の認証API スタートガイドのドキュメント ページをご覧ください。

API を使用してデプロイするには、deploy_ref_to_production エンドポイントを使用します。このエンドポイントは、さまざまな方法で呼び出せます。次の例は、HTTPS メソッドと SDK メソッドを対象としています。

HTTPS

deploy_ref_to_production API エンドポイントを使用して手動でデプロイするには、HTTPS メソッドを使用している次の例をご覧ください。CURL リクエストを使用して API を手動で呼び出す方法について詳しくは、API への認証方法の GitHub readme または API Explorer をご覧ください。API Explorer は、Looker Marketplace から Looker インスタンスにインストールできます。

HTTPS リクエストで次の例を使用して、deploy_ref_to_production API エンドポイントを介してブランチのヘッドまたは特定の commit SHA またはタグをデプロイします。

ブランチの先頭をデプロイ: <HOST_URL>/api/4.0/projects/<PROJECT_ID>/deploy_ref_to_production?branch=<BRANCH_NAME>

commit SHA またはタグをデプロイ: <HOST_URL>/api/4.0/projects/<PROJECT_ID>/deploy_ref_to_production?ref=<SHA_OR_TAG>

SDK

あるいは、API に手動でリクエストを行う代わりに、Looker の SDK のいずれかを使用します。SDK では、認証の詳細、パラメータとレスポンスのシリアル化、その他の懸念事項が処理されます。

SDK メソッドを使用した deploy_ref_to_production によるデプロイは次のようになります。

ブランチの先頭をデプロイ: deploy_ref_to_production(<PROJECT_ID>, {branch: <BRANCH_NAME>})

commit SHA またはタグをデプロイ: deploy_ref_to_production(<PROJECT_ID>, {ref: <SHA_OR_TAG>})