[Looker 25.10新機能]LookerネイティブのCI機能である「Looker Continuous Integration」を試してみた

[Looker 25.10新機能]LookerネイティブのCI機能である「Looker Continuous Integration」を試してみた

Clock Icon2025.07.08

さがらです。

2025年6月にLooker 25.10がリリースされ、その1つの機能として「Looker Continuous Integration」があります。(2025/7/7時点ではBeta機能として提供されています。)

https://cloud.google.com/looker/docs/continuous-integration

この機能を試してみたので、本記事でその内容をまとめてみます。

Looker Continuous Integration

Looker Continuous Integrationですが、その名の通りLookerで利用することができるネイティブのCI機能となります。

以下4種類のバリデータから構成されており、LookMLを管理するリポジトリにプルリクエストが送信された際にこれらのバリデータを実施することが可能です。

  • SQL Validator
    • プロジェクト内の各Exploreに対して、Explore内のすべてのディメンションを含む Exploreクエリを実行して、エラーが無いかを確認
  • Assert Validator
    • testパラメータで定義できるデータテストを実行して、エラーが無いかを確認
  • Content Validator
    • エラーのあるダッシュボードとLookを特定してくれる機能
  • LookML Validator
    • LookMLの構文エラーがないかを確認してくれる機能(Looker IDEでの開発では自動でバリデーションを行ってくれるため、VS Codeなど外部ツールを用いて開発を行った場合のバリデーションを想定)

これは参考情報ですが、今回リリースされたLooker Continuous Integrationは「Spectacles」というLookerの自動テストツールがベースとなっております。LookerがSpectaclesを買収したため、Spectaclesの機能がLookerに組み込まれる形となっています。

※Spectaclesについては一度弊社でも過去にブログにした実績があります。

https://dev.classmethod.jp/articles/spectacles-looker-validation/

事前準備

CI機能を利用するための準備がありますので、順番に行っていきます。

機能の有効化

AdminPlatform内に、Continuous Integrationという項目が追加されています。

2025-07-07_14h52_11

このメニューを開いて、Enable Continuous Integrationのトグルを有効化します。

また下記のように、現在はCI実行時にデータがUSリージョンに保持される仕様となっています。この仕様が受け入れられない場合は、本機能を有効化しないでください。

Don't enable Continuous Integration on a Looker instance that requires your data to reside in one specific location. Continuous Integration currently stores certain data in the United States.

2025-07-07_14h49_48

CI用のユーザーの追加

CI処理を行うための、ユーザーを追加します。(CIを実行するユーザーのAPI KeysのClient IDとClient Secretが必要となります。必要に応じて、新規のCI用のユーザーの作成も検討ください。

同じくAdminPlatform内にContinuous Integrationでトグルを有効化すると、Continuous Integration usersという項目が表示されますので、Add userを押します。

2025-07-07_14h53_07

すると下図のように、Client IDとClient Secretを求められるため、別途使用するユーザーの画面で確認したClient IDとClient Secretを入れて、Test connectionを行ったあと、Add userを押します。

2025-07-07_14h56_46

GitHubとの連携

CI機能はGitHubと連携設定を行うことで、プルリクエスト発行時に自動でCIの処理を動かすことが可能です。

同じくAdminPlatform内にContinuous Integrationの項目で、Integrationsという欄がありますので、Connect to GitHubを押します。

2025-07-07_15h00_52

どのユーザーで認証してLooker Continuous Integrationを有効化するのかを選択します。

2025-07-07_15h01_30

どのリポジトリを対象とするのか選択して、Installを押します。

2025-07-07_15h02_12

この後、Lookerの画面に戻り下図のように表示されたら連携完了です!

2025-07-08_07h33_20

※以下は参考までなのですが、私は7/7に試したときはうまくいかず、7/8に試したらうまくいったという謎の現象が起きました。下図はうまくいかなかったときの画像です。

2025-07-07_15h51_20_720

試してみた

ということで実際に、Looker Continuous Integrationを試してみます!

やること

まず、Content ValidatorのCI機能を設定します。

その上で、以下のようなダッシュボードがあるとして、このダッシュボードで使っているMost Recent Order Monthを削除してプルリクエストを発行した時に、どのような挙動となるかを確かめてみます。

2025-07-07_15h25_06

Content ValidatorのCIをSuiteとして設定

LookMLプロジェクトをDevelopmentモードで開き、左のメニューからContinuous Integrationを押します。

2025-07-07_15h27_29

Suitesを押して、Create suiteを押します。

2025-07-07_15h28_20

任意の名前をSuite Detailsに入れて、Trigger on pull requests from LookerContent Validatorのトグルを有効化します。その後、右下のCreate suiteを押します。

2025-07-08_07h41_51

2025-07-08_07h42_29

Suiteの作成が完了すると、下図のように表示されます。

2025-07-08_07h44_00

挙動確認(エラーありver)

Most Recent Order Monthに該当するdimensionを削除して、プルリクエストを発行してみます。

2025-07-08_07h45_28

2025-07-08_07h45_56

2025-07-08_07h48_10

プルリクエストを作成すると、事前準備で入れたLookerのアプリが動作します。これをクリックすると、Lookerの画面にリンクします。

2025-07-08_07h49_03

Lookerの画面に戻り1分ほど経過後にCIの処理が終わると、下図のように表示されます。ちゃんと影響のあるダッシュボードが表示されました!このCI機能があれば、プルリクエストのマージ前にダッシュボードを壊すリスクを回避することが出来ますね。

2025-07-08_07h52_04

挙動確認(エラーなしver)

もう一つおまけで、何もエラーがない場合の挙動も確認してみます。

先程は対象のdimensionをコメントアウトしていましたが、このコメントアウトをなくして挙動を確認してみます。

2025-07-08_07h53_02

プルリクエスト発行後にLookerで詳細を確認すると、無事にエラーがなくCI処理が完了していました!

2025-07-08_07h56_46

最後に

2025年6月にリリースされたLooker 25.10の新機能、「Looker Continuous Integration」を試してみました。

今回試したContent Validatorはもちろん、適切に設定すれば本番環境のダッシュボードを壊す前に回避できるのがとてもありがたい機能だと感じました!

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.