継続的インテグレーション スイートの作成

継続的インテグレーション(CI)スイートは、LookML プロジェクトに関連付けられた検証手順のセットです。manage_ci 権限を持つ Looker ユーザーは、CI スイートで次の項目を構成できます。

始める前に

CI スイートを作成するには、次のものが必要です。

  • CI の要件を満たし、CI が有効になっている Looker インスタンス。
  • manage_ci 権限を持つ Looker ユーザー アカウント(この権限は管理者 権限セット に含まれています)。

CI スイートを作成する

Looker IDE の [スイート] ページでバリデータを構成して実行できます。

CI スイート ページ

CI スイートを作成する手順は次のとおりです。

  1. [Looker IDE] で、IDE ナビゲーション バーの [継続的インテグレーション] アイコンをクリックします。
  2. [スイート] タブをクリックして [スイート] ページを開きます。
  3. [スイート] ページで、新しいスイートを作成するか、既存のスイートを編集できます。
    • 新しいスイートを作成するには、[スイートを作成] ボタンをクリックします。
    • 既存のスイートを編集するには、スイートの [スイートを編集] ボタンをクリックします。
  4. [スイート名] に名前を入力します。既存のスイートを編集する場合は、必要に応じて鉛筆アイコンをクリックしてスイート名を編集できます。
  5. (省略可)定期的なスケジュールで自動検証テストを設定する場合は、[スケジュールに基づいてトリガーする] 切り替えを有効にします。詳細については、このページのスケジュールに基づいてトリガーするをご覧ください。
  6. (省略可)Looker デベロッパーがリポジトリに pull リクエストを送信するたびに自動検証テストを設定する場合は、[Looker からの pull リクエストでトリガーする] 切り替えを有効にします。詳細については、このページの Looker からの pull リクエストでトリガーするをご覧ください。

    CI スイートの pull リクエスト トリガーを有効にした場合は、必要に応じて [ターゲット ブランチのみ] フィールドを使用して、リポジトリ内の特定のブランチへの pull リクエストのみが CI スイートの実行をトリガーするように指定できます。詳細については、このページの Looker からの pull リクエストでトリガーするをご覧ください。

  7. (省略可)[dbt Cloud からの pull リクエストでトリガーする] 切り替えをオンにすると、dbt Cloud CI ジョブが実行されるたびに自動検証テストを設定できます。詳細については、このページの dbt Cloud からの pull リクエストでトリガーするをご覧ください。

  8. (省略可)CI 実行のステータスに基づいてメール通知アラートを受け取る場合は、[メール通知アラートを有効にする] 切り替えをオンにします。詳細については、このページのアラートの設定をご覧ください。

  9. 必要に応じて、バリデータの切り替えを有効にしてバリデータをオンにし、そのオプションを構成します。詳細については、各バリデータのドキュメント ページをご覧ください。

  10. 変更を保存します。

    • 新しいスイートを作成する場合は、[スイートを作成] ボタンをクリックします。
    • 既存のスイートを編集する場合は、[スイートを更新] ボタンをクリックします。

トリガー

CI 実行は、次のようないくつかの方法でトリガーできます。

スケジュールに基づいてトリガーする

[スケジュールに基づいてトリガーする] 切り替えを有効にすると、スケジュールに基づいて自動的にトリガーするように CI スイートを構成できます。

この切り替えを有効にすると、CI スイートを自動的に実行する頻度と詳細を選択できます。

  • 毎月 (特定の日時)
  • 毎週 (特定の日時)
  • 毎日 (特定の時刻)
  • 1 時間ごと 、または 2、3、4、6、8、12 時間ごと(特定の時刻に開始して終了)
  • 分単位 (5、10、15、20、30 分ごと、特定の時刻に開始して終了)
  • 特定の月 (特定の日時)
  • 特定の曜日 (特定の時刻)

Looker からの pull リクエストでトリガーする

pull リクエストで自動的にトリガーするように CI スイートを構成するには、[Looker からの pull リクエストでトリガーする] 切り替えを有効にします。pull リクエスト トリガーを使用するには、Looker の [継続的インテグレーション] 管理ページで Looker 管理者が Git リポジトリを構成する必要があります。

CI スイートの pull リクエスト トリガーを有効にした場合は、必要に応じて、リポジトリ内の特定のブランチへの pull リクエストのみが CI スイートの実行をトリガーするように指定できます。CI 実行の自動 pull リクエスト トリガーをリポジトリ内の特定のブランチに制限するには、[ターゲット ブランチのみ] フィールドにブランチのリストをカンマ区切りで入力します。

たとえば、リポジトリに mainrelease_1dev という名前の 3 つのブランチがある場合は、main, release_1 を [**ターゲット ブランチのみ**] フィールドに入力します。つまり、Looker デベロッパーが main ブランチまたは release_1 ブランチに pull リクエストを送信すると、CI 実行がトリガーされます。Looker デベロッパーが dev ブランチに pull リクエストを送信しても、CI スイートの自動実行はトリガーされません。

dbt Cloud からの pull リクエストでトリガーする

インスタンスで dbt Cloud インテグレーションを構成している場合は、dbt Cloud CI ジョブが完了したときに自動的にトリガーするように CI スイートを構成できます。CI スイートは、dbt の変更がデプロイされる前に、dbt モデルの変更によって Looker Explore で SQL エラーが発生するかどうかを確認します。

このトリガーを構成するには、CI スイートの作成時または編集時に [dbt Cloud からの pull リクエストでトリガーする] 切り替えを有効にします。

このトリガーを有効にしたら、次のオプションを構成します。

  • dbt Cloud ジョブ: このスイートをトリガーする dbt Cloud CI ジョブをプルダウン フィールドから選択します。

  • スキーマのユーザー属性: データベース接続のスキーマ名を保持する Looker ユーザー属性を選択します。このリストには、CI 用に有効になっている [管理]パネルのユーザー属性のみが表示されます。

このトリガーを有効にしてスイートを保存すると、Looker はジョブの完了をリッスンする webhook を dbt Cloud アカウントに自動的に登録します。

dbt Cloud によってトリガーされた実行の場合、Looker は dbt Cloud 実行によって作成された一時スキーマを動的に識別し、CI 実行中は選択したユーザー属性をこの一時スキーマ名でオーバーライドします。

アラートの設定

CI 実行のステータスに基づいてメール通知アラートを受け取るには、CI スイートのアラートを設定します。これにより、Looker IDE の [実行] ページを確認しなくても、継続的インテグレーションの実行をモニタリングできます。

CI スイートのメール通知アラートを構成するには、CI スイートの作成時または編集時に次の手順を行います。

  1. [メール通知アラートを有効にする] 切り替えを有効にします。
  2. [メールアドレス] フィールドに、アラートを受信するメールアドレスのリストをカンマ区切りで入力します。
  3. チェックボックスを使用して、アラートをトリガーするジョブのステータスを選択します。
    • 失敗: CI 実行が検証テストに失敗すると、メールが送信されます。
    • エラー: CI 実行でシステム エラーまたは構成エラーが発生すると、メールが送信されます。
    • 合格: CI 実行が正常に完了すると、メールが送信されます。
    • キャンセル: CI 実行がキャンセルされると、メールが送信されます。

スイートを削除する

CI スイートを削除する手順は次のとおりです。

  1. [Looker IDE] で、IDE ナビゲーション バーの [継続的インテグレーション] アイコンをクリックします。
  2. [スイート] タブをクリックして [スイート] ページを開きます。
  3. [スイート] ページで、スイートの [スイートを編集] ボタンをクリックします。
  4. スイートのページで、[スイートを削除] ボタンをクリックします。
  5. 確認ダイアログで、[スイートを削除] ボタンをクリックします。