Webhook デプロイ シークレットの構成

Webhook デプロイ エンドポイントは、Looker インスタンスに Git ブランチ、commit SHA、またはタグ名からの変更をデプロイしてから、プロジェクトの本番環境バージョンに変更を push するように促します。ほとんどのプロジェクトで、Looker は Git 統合を処理し、更新を本番環境にデプロイします。このため、デプロイ Webhook を設定する必要はありません。

ただし、次のいずれかの状況が当てはまる場合は、デプロイ Webhook を使用して変更を本番環境に push する必要があります

  • Looker IDE の外部にあるリモート本番環境ブランチに更新を push する。これは、ステージング環境での開発ワークフローでよく行われます。
  • Webhook を使用して高度なデプロイモードでデプロイを行い、Looker プロジェクトの本番環境バージョンで使用されるブランチ、commit SHA、またはタグ名を指定します。
  • Git pull リクエストを使用して Looker プロジェクトを構成しました。つまり、pull リクエストをマージしたら、それらの変更を Looker 本番環境に push するためにデプロイ Webhook をトリガーする必要があります。ほとんどの Git ホスティング サービスでは、Git プロバイダのインターフェースに Webhook を追加すれば、これを自動化できます。

Looker 管理者は、承認されたユーザーのみがシークレットをトリガーできるように、シークレットを要求するようにデプロイ Webhook を構成できます。

管理者ではない Looker 開発者の方は、[Project Settings] ページを表示できますが、オプションを変更することはできません。

デプロイ シークレットの追加

プロジェクトに Webhook デプロイ シークレットを設定するには:

  1. 開発モードで、プロジェクトを開き、IDE ナビゲーション バーにある設定アイコンを選択してプロジェクト設定パネルを開きます。
  2. プロジェクト設定パネルで [構成] を選択します。
  3. [Webhook Deploy Secret] セクションまで下にスクロールし、[Set Webhook Secret] をクリックします。Looker が自動的にシークレット トークンを生成します。この自動生成されたシークレットを使用することも、独自のシークレット トークンを入力することもできます。
  4. 自動生成されたシークレットを使用している場合も、独自のシークレットを作成する場合も、Webhook デプロイ シークレットをコピーしてテキスト ファイルに貼り付けると、リポジトリの Webhook にシークレットを追加する必要がある場合に使用できます。この時点でコピーしてください。[Project Settings] ページから移動するかページを更新すると、Webhook デプロイ シークレットにアクセスできなくなります。プロジェクトに再度アクセスするには Webhook デプロイ シークレットを変更または削除する必要があります。
  5. [Save Project Configuration] をクリックします。

プロジェクトのデプロイ Webhook には、このシークレットが必要です。Looker ステージング インスタンスを使用するプロジェクトの場合、本番環境にデプロイするには、HTTP ヘッダーに Webhook デプロイ シークレットを含める必要があります。Git pull リクエストの統合を使用するプロジェクトの場合、Git プロバイダのインターフェースに移動して、リポジトリの Webhook にシークレットを追加する必要があります。

Git リポジトリの Secret を構成する

Git pull リクエストの統合を使用するプロジェクトで、デプロイ Webhook シークレットを LookML プロジェクトに追加している場合は、Git プロバイダのインターフェースに移動して、シークレットをリポジトリの Webhook に追加する必要があります。たとえば、GitHub を使用してこれを行う方法を次に示します。

  1. Git プロバイダのウェブサイトでプロジェクトのリポジトリ設定に移動します。

    ヒント: Git 統合用のプロジェクトを設定している場合は、Looker でプロジェクトの [Git] メニューから [View Project on Git] オプションを使用できます。

  2. リポジトリの設定で [Webhooks] をクリックします。

  3. LookML プロジェクトの Webhook を見つけて、[Edit] ボタンをクリックします。

  4. [Secret] テキスト ボックスに、Looker の [Webhook Deploy Secret] セクションからコピーした Webhook デプロイ シークレットを貼り付けます。

  5. [Update webhook] をクリックします。

プロジェクトの本番環境バージョンに変更をデプロイするには、Webhook シークレットが必要です。必要に応じて、シークレットを変更したり、プロジェクトからシークレットを削除したりできます。

デプロイ シークレットの変更

プロジェクトに Webhook デプロイ シークレットが追加された後、Looker 管理者は、次の手順でシークレットを変更できます。

  1. プロジェクトから、ナビゲーション バーで [設定] アイコンを選択します。
  2. [Webhook Deploy Secret] セクションまで下にスクロールし、[シークレットをリセット] をクリックします。Looker が新しいシークレット トークンを自動的に生成します。この自動生成されたシークレットを使用することも、独自の新しいシークレット トークンを入力することもできます。
  3. 自動生成されたシークレットを使用している場合も、独自のシークレットを作成する場合も、Webhook デプロイ シークレットをコピーしてテキスト ファイルに貼り付けると、リポジトリの Webhook にシークレットを追加する必要がある場合に使用できます。この時点でクリップボードからコピーしてください。[Project Settings] ページから移動するかページを更新すると、Webhook デプロイ シークレットにアクセスできなくなり、戻って変更または完全に削除する必要があります。
  4. [Save Project Configuration] をクリックします。

Git の pull リクエストの統合でプロジェクトが構成されている場合は、Git プロバイダのインターフェースに移動して、リポジトリの Webhook シークレットを更新する必要があります。

デプロイ シークレットの削除

Webhook デプロイ シークレットをプロジェクトに追加した後、Looker 管理者は、次の手順でシークレットを削除できます。

  1. プロジェクトから、ナビゲーション バーで [設定] アイコンを選択します。
  2. [Webhook Deploy Secret] セクションまで下にスクロールし、[シークレットを削除] をクリックします。この時点で [Don't Remove] をクリックすると、オペレーションをキャンセルしてデプロイ シークレットを保持できます。
  3. Webhook デプロイ シークレットをプロジェクトから完全に削除するには、[プロジェクト構成を保存] をクリックします。

プロジェクトでデプロイ Webhook に Secret は不要になりました。プロジェクトが Git pull リクエストの統合で構成されている場合は、Git プロバイダのインターフェースに移動して、リポジトリから Webhook シークレットを削除できます。Looker 自体は Git プロバイダ側でのシークレットのチェックを行わないため、Git リポジトリの Webhook に Secret が構成されていても問題はありません。Git リポジトリからシークレットを削除する場合は、Git リポジトリの Secret の構成で、Git プロバイダのインターフェースでの Secret の編集方法を確認してください。