Looker のデフォルトの Git 統合では、Looker デベロッパーが開発ブランチに変更を commit し、開発ブランチを本番環境ブランチにマージします。Looker 環境にデプロイすると、Looker は本番環境ブランチで最新の commit を使用します(デフォルトの Git ワークフローと、高度な Git 実装のためのその他のオプションについては、バージョン管理機能の使用とデプロイのドキュメント ページをご覧ください)。
本番環境ブランチでの最新の commit を Looker 環境で使用したくない高度な Git 実装の場合、Looker 管理者は高度なデプロイモードを有効にします。高度なデプロイモードを有効にすると、deploy
権限を持つデベロッパーが、本番環境ブランチの最新の commit を使用する代わりに、Looker 本番環境にデプロイする別の commit SHA またはタグを指定できます。別のブランチから commit をデプロイする場合は、高度なデプロイモードである Webhook または API エンドポイントを使用できます。
高度なデプロイモードは、各環境が異なるバージョンのコードベースを指すマルチ環境のデベロッパー ワークフローでリポジトリを統合するのに役立ちます。また、1 人以上の開発者または管理者が、本番環境にデプロイされる変更を詳細に制御できます。
高度なデプロイモードが有効になっている場合、Looker は、変更を本番環境にデプロイするよう求めるプロンプトをデベロッパーに表示しません。代わりに、変更を本番環境ブランチにマージするように促されます。ここから変更をデプロイする方法は次のとおりです。
- Deployment Manager を使用する
- webhook をトリガーする
- API エンドポイント を使用する
高度なデプロイモードの有効化
高度なデプロイモードを有効にするには:
- Looker IDE で、アイコン メニューから [設定] アイコンを選択し、[構成] タブを選択して、[プロジェクトの構成] ページに移動します。
- [プロジェクト構成] ページの [デプロイメント] セクションで、[高度なデプロイモードの有効化] の横にあるチェックボックスをオンにします。
- [Save Project Configuration] ボタンを選択して、変更を保存します。
高度なデプロイモードでのバージョン管理
高度なデプロイモードが有効な場合、デベロッパーは Looker から本番環境へのデプロイができなくなります。代わりに、デベロッパーが commit するときに、本番環境へのデプロイを促すのではなく、変更をプライマリ ブランチにマージするよう促す [Git ボタン] が表示されます。
変更は、Webhook、API、Deployment 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 をデプロイする方法は複数あります。
- まだデプロイされていない commit をデプロイするには、[Select Commit] ボタンをクリックして、リモート本番環境ブランチにマージされたすべての commit から選択します(別のブランチから commit をデプロイする場合は、高度なデプロイモードである Webhook または API エンドポイントを使用します)。
- リモート本番環境ブランチに、最後にマージされた commit をデプロイするには、[Deploy Latest] ボタンをクリックします。
- 以前にデプロイした commit またはタグをデプロイするには、Deployment Manager のその他アイコンの [オプション] メニュー をクリックし、[本番環境にデプロイする] を選択します。
まだデプロイしていない commit を選択した場合、Deployment Manager に [commit をデプロイ] メニューが表示されます。[commit をデプロイ] メニューから commit をデプロイするには、次の手順を行います。
- タグを割り当てずに commit をデプロイするには、[Deploy without tagging] を選択して、[Deploy to Environment] を選択します。それ以外の場合は、[Tag and deploy] オプションを選択したままにします。
コミットのタグを指定します。Git タグは、リポジトリの履歴における commit の重要性(リリース番号やバージョン名など)を示します。Git タグについて、次の点に注意してください。
- Git タグは Git リポジトリ内で一意である必要があります。リポジトリ内の 2 つの異なる commit に同じタグは使用できません。
- Git タグにはスペースや特定の特殊文字を含めることはできません。Git で参照の命名規則については、Git リファレンスのドキュメントをご覧ください。
必要に応じて、タグの説明を追加して、commit の詳細を指定できます。
[Deploy to Environment] を選択して、Looker インスタンスの本番環境バージョンに commit をデプロイします。
commit をデプロイすると、Deployment Manager によって、その commit が Looker 本番環境の現在のバージョンとしてマークされます。
Webhook を使用したデプロイ
高度なデプロイモードが有効になっているプロジェクトでは、デプロイ Webhook を使用して本番環境に変更をデプロイできます。
デプロイ Webhook を設定するには、まず [Project Configuration] ページで、Looker プロジェクトで使用する Webhook シークレットを追加する必要があります。Webhook Secret を追加すると、承認済みの担当者だけがデプロイ 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>
山かっこ < >
docsexamples.dev.looker.com
Looker インスタンスに e_faa
プロジェクトの v1.0
タグ名をデプロイする 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 を使用してください。Looker インスタンスに API Explorer をインストールするには、Looker Marketplace を使用します。
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>})