Teilen über


CI/CD mit Git-Ordnern von Databricks

Verwenden Sie Git-Ordner von Databricks in Ihren CI/CD-Flüssen, um die Arbeit in der Quellcodeverwaltung beizubehalten und in Ihre Data Engineering-Workflows zu integrieren. Eine umfassendere Übersicht über CI/CD mit Azure Databricks finden Sie unter CI/CD auf Azure Databricks.

Verwendungsflüsse

Automatisierung für Git-Ordner zentriert sich auf die anfängliche Ordnerkonfiguration und auf der Azure Databricks Repos REST-API zum Automatisieren von Git-Vorgängen aus Azure Databricks-Aufträgen. Vor dem Erstellen der Automatisierung:

  • Überprüfen Sie die Git-Remoterepositorys, die Sie verwenden werden.
  • Wählen Sie die richtigen Repositorys und Branches für jede Phase aus (Entwicklung, Integration, Staging, Produktion).

Es gibt drei Hauptflüsse:

  • Administratorablauf: Ein Azure Databricks-Arbeitsbereichsadministrator erstellt Ordner auf oberster Ebene, um Git-Produktionsordner zu hosten. Der Administrator klont ein Repository und eine Verzweigung beim Erstellen jedes Ordners und kann sie nach Zweck benennen (z. B. "Produktion", "Test" oder "Staging"). Siehe Erstellen eines Git-Ordners für die Produktion.
  • Benutzerablauf: Ein Benutzer erstellt einen Git-Ordner unter Verwendung von /Workspace/Users/<email>/ aus einem Remote-Repository, arbeitet an einem benutzerspezifischen Branch und pusht Commits an das Remote. Weitere Informationen finden Sie unter "Zusammenarbeit mithilfe von Git-Ordnern".
  • Merge-Flow: Nachdem aus einem Git-Ordner gepusht wurde, öffnen Benutzer Pull-Requests (PRs). Wenn eine PR zusammengeführt wird, kann die Automatisierung mithilfe der Azure Databricks Repos-API Änderungen in die Produktions-Git-Ordner einziehen.

Zusammenarbeiten mithilfe von Git-Ordnern

Arbeiten Sie mit anderen zusammen, indem Sie Änderungen aus der Azure Databricks-Benutzeroberfläche abrufen und pushen. Ein gängiges Muster ist die Verwendung eines Feature- oder Entwicklungszweigs, um Arbeit zusammenzufassen.

So arbeiten Sie an einem Featurezweig zusammen:

  1. Klonen Sie Ihr vorhandenes Git-Repository in Ihren Databricks-Arbeitsbereich.
  2. Erstellen Sie in der Benutzeroberfläche von Git-Ordnern einen Featurezweig aus der Hauptzweigung . Sie können mehrere Featurezweige bei Bedarf verwenden.
  3. Bearbeiten Sie Azure Databricks-Notizbücher und andere Dateien im Repository.
  4. Committen und pushen Sie Ihre Änderungen an das Remote-Repository.
  5. Andere Mitwirkende können das Repository in ihren eigenen Benutzerordner klonen. Sie arbeiten an einem Branch, ändern Notizbücher und Dateien im Git-Ordner, committen und pushen zum Remote.
  6. Wenn Sie bereit sind, erstellen Sie eine PR auf Ihrem Git-Anbieter, überprüfen Sie mit Ihrem Team, und führen Sie sie mit dem Bereitstellungszweig zusammen.

Hinweis

Databricks empfiehlt, dass jeder Entwickler an einem eigenen Zweig arbeitet. Informationen zum Auflösen von Zusammenführungskonflikten finden Sie unter "Auflösen von Zusammenführungskonflikten".

Auswählen eines CI/CD-Ansatzes

Databricks empfiehlt Databricks Asset Bundles , CI/CD-Workflows zu packen und bereitzustellen. Wenn Sie nur Code im Arbeitsbereich bereitstellen möchten, können Sie stattdessen einen Git-Produktionsordner verwenden. Eine umfassendere CI/CD-Übersicht finden Sie unter CI/CD auf Azure Databricks.

Tipp

Definieren Sie Ressourcen wie Aufträge und Pipelines in der Quelle mithilfe von Bundles, erstellen, bereitstellen und verwalten Sie sie in Arbeitsbereich-Git-Ordnern. Siehe Zusammenarbeiten an Bundles im Arbeitsbereich.

Erstellen eines Git-Ordners für die Produktion

Produktions-Git-Ordner unterscheiden sich von Git-Ordnern auf Benutzerebene unter /Workspace/Users/. Ordner auf Benutzerebene sind lokale Auscheckvorgänge, bei denen Benutzer Änderungen entwickeln und pushen. Git-Ordner für die Produktion werden von Administratoren außerhalb von Benutzerordnern erstellt, enthalten Bereitstellungszweige und dienen als Quelle für automatisierte Workflows. Sie sollten nur dann aktualisiert werden, wenn PRs in Bereitstellungszweige zusammengeführt werden, und das sollte automatisiert geschehen. Beschränken Sie die Git-Produktionsordner auf ausführenden Zugriff für die meisten Benutzer. Nur Administratoren und Azure Databricks-Dienstprinzipale dürfen sie bearbeiten.

Git-Produktionsordner, die dem Hauptzweig in einem Remote-Repository zugeordnet sind.

So erstellen Sie einen Git-Produktionsordner:

  1. Wählen Sie das Git-Repository und den Branch zur Bereitstellung aus.

  2. Erstellen oder verwenden Sie einen Dienstprinzipal und konfigurieren Sie Git-Anmeldeinformationen, damit diese auf das Repository zugreifen können.

  3. Erstellen Sie einen Git-Ordner in Azure Databricks für das Repository und den Branch in einem Unterordner unter Arbeitsbereich (z. B. pro Projekt, Team oder Phase).

  4. Wählen Sie den Ordner aus und klicken Sie dann auf Freigeben (oder klicken Sie mit der rechten Maustaste in der Arbeitsbereichsstruktur auf "Freigeben (Berechtigungen)").

  5. Zuweisen von Berechtigungsstufen:

    • Kann ausgeführt werden von Projektbenutzern, die Workflows ausführen müssen.
    • Kann für jeden Azure Databricks-Dienstprinzipal ausgeführt werden, der die Automatisierung für diesen Ordner ausführt.
    • Optional kann für alle Arbeitsbereichsbenutzer angezeigt werden , um die Ermittlung und Freigabe zu unterstützen.

    Das modale Dialogfeld

  6. Klicken Sie auf Hinzufügen.

  7. Halten Sie den Produktions-Git-Ordner mit dem Remote-Branch synchron, indem Sie eine der folgenden Optionen nutzen:

    • Externe CI/CD: Verwenden Sie Tools wie GitHub Actions, um die neuesten Commits abzurufen, wenn ein PR mit dem Bereitstellungszweig zusammengeführt wird. Ein Beispiel finden Sie unter Ausführen eines CI/CD-Workflows, der einen Git-Ordner aktualisiert.
    • Geplanter Auftrag: Wenn externe CI/CD nicht verfügbar ist, führen Sie einen geplanten Auftrag aus, der den Git-Ordner aktualisiert. Verwenden Sie ein einfaches Notizbuch, das nach einem Zeitplan ausgeführt wird.
    from databricks.sdk import WorkspaceClient
    w = WorkspaceClient()
    w.repos.update(w.workspace.get_status(path="<git-folder-workspace-full-path>").object_id, branch="<branch-name>")
    

Weitere Informationen zum Automatisieren mit der Repos-API finden Sie in der Databricks REST-API-Dokumentation für Repos.