Continuous Integration-Suite erstellen

Eine Continuous Integration-Suite (CI) ist eine Reihe von Validierungsanweisungen, die mit Ihrem LookML-Projekt verknüpft sind. Ein Looker-Nutzer mit der Berechtigung manage_ci kann in einer CI-Suite Folgendes konfigurieren:

Hinweis

Bevor Sie eine CI-Suite erstellen können, benötigen Sie Folgendes:

  • Eine Looker-Instanz, die die Anforderungen für CI erfüllt und für die CI aktiviert ist.
  • Ein Looker-Nutzerkonto mit der Berechtigung manage_ci (diese Berechtigung ist im Berechtigungssatz für Administratoren enthalten).
  • Ein LookML-Projekt mit mindestens einem Commit, der in der Produktion bereitgestellt wurde. CI-Hintergrunddienste können die Git-Konfiguration des Projekts nur abrufen, wenn sich das Projekt im Produktionsmodus befindet. Wenn das Projekt nur im Entwicklungsmodus vorhanden ist, gibt die CI beim Konfigurieren von Webhook-Triggern Fehler zurück.

CI-Suite erstellen

Sie können die Validatoren auf der Seite Suites in der Looker-IDE konfigurieren und ausführen:

Seite „CI-Suites“

So erstellen Sie eine CI-Suite:

  1. Klicken Sie in der Looker-IDE in der IDE-Navigationsleiste auf das Symbol Continuous Integration.
  2. Klicken Sie auf den Tab Suites, um die Seite Suites zu öffnen.
  3. Auf der Seite Suites können Sie eine neue Suite erstellen oder eine vorhandene Suite bearbeiten:
    • Klicken Sie auf den Button Suite erstellen, um eine neue Suite zu erstellen.
    • Wenn Sie eine vorhandene Suite bearbeiten möchten, klicken Sie für die Suite auf den Button Suite bearbeiten.
  4. Geben Sie einen Suite-Namen ein. Wenn Sie eine vorhandene Suite bearbeiten, können Sie optional auf das Stiftsymbol klicken, um den Namen der Suite zu bearbeiten.
  5. (Optional) Aktivieren Sie die Option Trigger on a schedule (Nach Zeitplan auslösen), wenn Sie automatische Validierungstests nach einem wiederkehrenden Zeitplan einrichten möchten. Weitere Informationen finden Sie auf dieser Seite im Abschnitt Trigger nach Zeitplan.
  6. (Optional) Aktivieren Sie die Option Bei Pull-Anfragen von Looker auslösen, wenn Sie automatische Validierungstests einrichten möchten, die immer dann ausgeführt werden, wenn ein Looker-Entwickler eine Pull-Anfrage an Ihr Repository sendet. Weitere Informationen finden Sie auf dieser Seite im Abschnitt Trigger bei Pull-Anfragen von Looker.

    Wenn Sie das Auslösen von Pull-Anfragen für eine CI-Suite aktivieren, können Sie optional das Feld Nur für Zielzweig verwenden, um anzugeben, dass nur Pull-Anfragen an bestimmte Zweige im Repository eine Ausführung der CI-Suite auslösen sollen. Weitere Informationen finden Sie auf dieser Seite im Abschnitt Trigger bei Pull-Anfragen von Looker.

  7. (Optional) Aktivieren Sie die Option Bei Pull-Anfragen von dbt Cloud auslösen, wenn Sie automatische Validierungstests einrichten möchten, die immer dann ausgeführt werden, wenn ein dbt Cloud-CI-Job ausgeführt wird. Weitere Informationen finden Sie im Abschnitt Bei Pull-Anfragen von dbt Cloud auslösen auf dieser Seite.

  8. (Optional) Wenn Sie automatische Validierungstests einrichten möchten, die immer dann ausgeführt werden, wenn eine Pull-Anfrage an ein importiertes Upstream-Projekt (Hub-Projekt) gesendet wird, führen Sie die folgenden Schritte aus:

    1. Aktivieren Sie die Option Bei Pull-Anfragen von importierten Projekten auslösen.
    2. Wählen Sie unter Upstream-Projekte zum Abonnieren auswählen das Kästchen für jedes importierte Hub-Projekt aus, das eine Ausführung dieser CI-Suite auslösen soll. Sie müssen mindestens ein Upstream-Projekt auswählen.

    Weitere Informationen finden Sie auf dieser Seite im Abschnitt Bei Pull-Anfragen von importierten Projekten auslösen.

  9. (Optional) Aktivieren Sie den Ein/Aus-Button E‑Mail-Benachrichtigungen aktivieren, wenn Sie E‑Mail-Benachrichtigungen basierend auf dem Status eines CI-Ausführung erhalten möchten. Weitere Informationen finden Sie auf dieser Seite im Abschnitt Benachrichtigungen einrichten.

  10. Optional können Sie die Validator-Schalter aktivieren, um einen Validator zu aktivieren und seine Optionen zu konfigurieren. Weitere Informationen zu den einzelnen Validatoren finden Sie auf den folgenden Dokumentationsseiten:

  11. Speichern Sie Ihre Änderungen mit einer der folgenden Methoden:

    • Wenn Sie eine neue Suite erstellen, klicken Sie auf den Button Suite erstellen.
    • Wenn Sie eine vorhandene Suite bearbeiten, klicken Sie auf den Button Suite aktualisieren.

Trigger

CI-Ausführungen können auf verschiedene Arten ausgelöst werden:

Trigger nach Zeitplan starten

Sie können eine CI-Suite so konfigurieren, dass sie automatisch nach einem Zeitplan ausgelöst wird. Aktivieren Sie dazu die Option Nach einem Zeitplan auslösen.

Wenn dieser Button auf „Ein“ gestellt ist, können Sie die Häufigkeit und die Details für die automatische Ausführung Ihrer CI-Suite auswählen:

  • Monatlich an einem bestimmten Tag und zu einer bestimmten Uhrzeit
  • Wöchentlich an einem bestimmten Tag und zu einer bestimmten Uhrzeit
  • Täglich zu einer bestimmten Zeit
  • Stündlich oder alle 2, 3, 4, 6, 8 oder 12 Stunden, beginnend und endend zu bestimmten Tageszeiten
  • Minuten: alle 5, 10, 15, 20 oder 30 Minuten, beginnend und endend zu bestimmten Tageszeiten
  • Bestimmte Monate des Jahres, an einem bestimmten Tag und zu einer bestimmten Uhrzeit
  • Bestimmte Wochentage zu einer bestimmten Uhrzeit

Bei Pull-Anfragen von Looker auslösen

Wenn Sie eine CI-Suite für die automatische Auslösung bei Pull-Anfragen konfigurieren möchten, aktivieren Sie die Option Bei Pull-Anfragen von Looker auslösen. Wenn Sie das Auslösen von Pull-Anfragen verwenden möchten, muss Ihr Git-Repository von Ihrem Looker-Administrator auf der Looker-Seite Continuous Integration-Verwaltung konfiguriert werden.

Wenn Sie Pull-Anfrage-Trigger für eine CI-Suite aktivieren, können Sie optional angeben, dass nur Pull-Anfragen an bestimmte Branches im Repository eine Ausführung der CI-Suite auslösen sollen. Wenn Sie automatische Pull-Anfrage-Trigger von CI-Ausführungen auf bestimmte Zweige in Ihrem Repository beschränken möchten, geben Sie im Feld Nur für Zielzweig eine durch Kommas getrennte Liste der Zweige ein.

Wenn ein Repository beispielsweise drei Zweige mit den Namen main, release_1 und dev hat, können Sie im Feld Nur für Zielzweig den Wert main, release_1 eingeben. Das bedeutet, dass CI-Ausführungen ausgelöst werden, wenn ein Looker-Entwickler eine Pull-Anfrage an den Zweig main oder release_1 sendet. Wenn ein Looker-Entwickler eine Pull-Anfrage an den Zweig dev sendet, wird die CI-Suite nicht automatisch ausgeführt.

Bei Pull-Anfragen von dbt Cloud auslösen

Wenn Sie die dbt Cloud-Integration auf Ihrer Instanz konfiguriert haben, können Sie eine CI-Suite so konfigurieren, dass sie automatisch ausgelöst wird, wenn ein dbt Cloud-CI-Job abgeschlossen ist. Die CI-Suite prüft, ob Änderungen in Ihren dbt-Modellen SQL-Fehler in Ihren Looker-Explores verursachen, bevor die dbt-Änderungen bereitgestellt werden.

Wenn Sie diesen Trigger konfigurieren möchten, aktivieren Sie beim Erstellen oder Bearbeiten einer CI-Suite die Option Trigger on pull requests from dbt Cloud (Bei Pull-Anfragen von dbt Cloud auslösen).

Wenn Sie diesen Trigger aktiviert haben, konfigurieren Sie die folgenden Optionen:

  • dbt Cloud-Job: Wählen Sie im Drop-down-Menü den dbt Cloud-CI-Job aus, der diese Suite auslösen soll.

  • Schema-Nutzerattribut: Wählen Sie das Looker-Nutzerattribut aus, das den Schemanamen für Ihre Datenbankverbindung enthält. In dieser Liste werden nur Nutzerattribute angezeigt, die im Admin-Bereich für CI aktiviert wurden.

Wenn Sie die Suite mit aktiviertem Trigger speichern, registriert Looker automatisch einen Webhook in Ihrem dbt Cloud-Konto, um auf Jobabschlüsse zu warten.

Bei von dbt Cloud ausgelösten Ausführungen identifiziert Looker dynamisch das von der dbt Cloud-Ausführung erstellte temporäre Schema und überschreibt das ausgewählte Benutzerattribut für die Dauer der CI-Ausführung mit diesem temporären Schemanamen.

Bei Pull-Anfragen von importierten Projekten auslösen

Wenn in Ihrem Looker-Projekt lokale Projektimporte verwendet werden, um andere Projekte aus derselben Looker-Instanz zu importieren, können Sie eine CI-Suite konfigurieren, um nachgelagerte Projekte (sogenannte Spoke-Projekte) zu testen, wenn eine Pull-Anfrage für ein importiertes vorgelagertes Projekt (sogenanntes Hub-Projekt) geöffnet oder aktualisiert wird.

Angenommen, Sie haben ein company_bi-Hub-Projekt, das in die Spoke-Projekte marketing und finance importiert wird. Sie können in den Projekten marketing und finance einen Trigger konfigurieren, um diese Spoke-Projekte zu validieren, wenn eine Pull-Anfrage an das Repository company_bi gesendet wird.

Bevor Sie diesen Trigger konfigurieren, sollten Sie die folgenden Voraussetzungen und Verhaltensweisen beachten:

  • Nur lokale Projektimporte: Alle abonnierten Hub-Projekte müssen mit dem Parameter local_dependency in manifest.lkml auf derselben Looker-Instanz lokal in das Spoke-Projekt importiert werden. Remote-Projekte (Importe, die den Parameter remote_dependency in der Manifestdatei des Projekts verwenden) werden nicht unterstützt.
  • Git- und Produktionsmodus: Sowohl das Spoke-Projekt als auch die importierten Hub-Projekte müssen im Produktionsmodus bereitgestellt werden und die CI-GitHub-Anwendung muss für ihre Git-Repositories konfiguriert sein.
  • Berechtigungen: Die Rolle Looker CI-Nutzer muss die Berechtigung develop für die Modelle sowohl im Spoke-Projekt als auch in den importierten Hub-Projekten haben.
  • Validator-Verhalten: Da das Spoke-Projekt anhand seiner Produktionsversion validiert wird und kein Git-Status des Entwicklungszweigs zum Vergleichen vorhanden ist, wird die inkrementelle Validierung für Ausführungen, die durch Pull-Anfragen importierter Projekte ausgelöst werden, unabhängig von der Suite-Einstellung automatisch deaktiviert. Außerdem empfehlen wir, den CI-LookML-Validator und den CI-Stil-Validator für Suites zu deaktivieren, die nur durch Pull-Anfragen von importierten Projekten ausgelöst werden, da diese Validatoren nur die Dateien des Spoke-Projekts prüfen und nicht von Upstream-Änderungen betroffen sind.

So konfigurieren Sie ein Spoke-Projekt, um die CI-Validierung auszuführen, wenn Pull-Anfragen an ein oder mehrere importierte Hub-Projekte gesendet werden: Führen Sie die folgenden Schritte aus, wenn Sie eine CI-Suite im Spoke-Projekt erstellen oder bearbeiten:

  1. Aktivieren Sie die Option Bei Pull-Anfragen von importierten Projekten auslösen.
  2. Wählen Sie unter Upstream-Projekte zum Abonnieren auswählen das Kästchen für jedes importierte Hub-Projekt aus, das eine Ausführung dieser CI-Suite auslösen soll. Sie müssen mindestens ein Upstream-Projekt auswählen.

Wenn Sie möchten, dass Änderungen an einem Hub-Projekt Validierungsläufe in mehreren Spoke-Projekten auslösen, müssen Sie in jedem Spoke-Projekt eine CI-Suite konfigurieren.

Wenn Sie die CI-Suite speichern, erstellt Looker automatisch ein Webhook-Abo für Pull-Anfrage-Ereignisse im Repository jedes ausgewählten Hub-Projekts. Wenn eine Pull-Anfrage an das Repository eines abonnierten Hub-Projekts gesendet wird, löst Looker einen CI-Lauf im Spoke-Projekt aus. Bei der Ausführung wird die Produktionsversion des Spoke-Projekts validiert, während das importierte Hub-Projekt vorübergehend an den Commit der Pull-Anfrage angepinnt wird. Looker meldet das Ergebnis der CI-Ausführung des Spoke-Projekts als Commit-Status für die Pull-Anfrage des Hub-Projekts. Sie können die Ausführungsdetails auch auf der Seite Ausführungen des Spoke-Projekts in der Looker-IDE aufrufen. Dort wird in der Spalte Trigger die Option Projektimport angezeigt und die Seite mit den Ausführungsergebnissen enthält den Abschnitt Projektimporte. Weitere Informationen dazu, wie diese Ausführungen ausgeführt werden und wie Sie ihre Ergebnisse prüfen, finden Sie unter CI-Suites ausführen und Ergebnisse einer CI-Ausführung ansehen.

Benachrichtigung einrichten

Wenn Sie E‑Mail-Benachrichtigungen zum Status Ihrer CI-Ausführungen erhalten möchten, können Sie Benachrichtigungen für eine CI-Suite einrichten. So können Sie Continuous Integration-Ausführungen im Blick behalten, ohne die Seite Ausführungen in der Looker-IDE aufrufen zu müssen.

So konfigurieren Sie E‑Mail-Benachrichtigungen für eine CI-Suite beim Erstellen oder Bearbeiten einer CI-Suite:

  1. Aktivieren Sie die Option E‑Mail-Benachrichtigungen aktivieren.
  2. Geben Sie im Feld E‑Mail-Adressen eine durch Kommas getrennte Liste der E‑Mail-Adressen ein, an die die Benachrichtigungen gesendet werden sollen.
  3. Wählen Sie über die Kästchen die Jobstatus aus, die eine Benachrichtigung auslösen sollen:
    • Fehlgeschlagen: Löst eine E-Mail aus, wenn ein CI-Lauf die Validierungstests nicht besteht.
    • Fehler: Löst eine E-Mail aus, wenn bei einer CI-Ausführung ein System- oder Konfigurationsfehler auftritt.
    • Bestanden: Löst eine E‑Mail aus, wenn eine CI-Ausführung erfolgreich abgeschlossen wurde.
    • Abgebrochen: Löst eine E-Mail aus, wenn eine CI-Ausführung abgebrochen wird.

Suite löschen

So löschen Sie eine CI-Suite:

  1. Klicken Sie in der Looker-IDE in der IDE-Navigationsleiste auf das Symbol Continuous Integration.
  2. Klicken Sie auf den Tab Suites, um die Seite Suites zu öffnen.
  3. Klicken Sie auf der Seite Suites für die Suite auf den Button Suite bearbeiten.
  4. Klicken Sie auf der Seite der Suite auf Suite löschen.
  5. Klicken Sie im Bestätigungsdialogfeld auf den Button Suite löschen.