Was ist CI/CD in Microsoft Fabric?

Continuous Integration und Continuous Delivery (CI/CD) in Microsoft Fabric bieten Entwicklungsteams eine standardisierte Möglichkeit, Inhalte mit Geschwindigkeit und Zuverlässigkeit zu erstellen, zu überprüfen und zu veröffentlichen. Anstelle manueller Updates integrieren Teams Änderungen häufig über Versionskontrolle und liefern sie über automatisierte Pipelines, sodass neue Funktionen und Fehlerbehebungen schnell und sicher in die Produktion gelangen.

Die Fabric CI/CD-Plattform basiert auf den Fabric REST APIs und vereint Versionskontrolle, Auslieferung, Konfiguration und Entwickler-Tools zu einem einzigen, integrierten Erlebnis. Der Rest dieses Artikels geht Schicht für Schicht durch die Plattform.

Die Fabric CI/CD-Plattform auf einen Blick

Die Fabric CI/CD-Plattform umfasst mehrere Kernfunktionen, die alle auf der Fabric REST API basieren:

  • Git-Integration – Synchronisieren Sie einen Arbeitsbereich mit einem Git-Repository in Azure DevOps oder GitHub, mit Service Principal-Unterstützung.
  • Deployment-Pipelines – Fördern Sie Inhalte über Entwicklungs-, Test- und Produktionsphasen mit Konfigurationsregeln und Inhaltsvergleich.
  • Fabric REST APIs – Die Grundlageschicht für Item-CRUD, Artikeldefinitionen, Kapazität, Arbeitsbereich, Zugriff und Joboperationen.
  • Variablenbibliothek – Konfiguration als Code mit Wertesets pro Stufe für CI/CD, verwaltet über die API oder die Benutzeroberfläche.
  • Fabric CLI – Ein Open-Source-, skriptbares, filesystemähnliches Kommandozeilen-Tool, das für GitHub Actions und Azure DevOps bereit ist.
  • Terraform und fabric-cicd – Infrastruktur als Code für Umgebungen, wobei fabric-cicd das am weitesten verbreitete Bereitstellungswerkzeug ist.

Diagramm der Komponenten der Fabric CI/CD-Plattform: Git-Integration, Bereitstellungspipelines, Fabric REST APIs, Variable Library, Fabric CLI und Terraform mit fabric-cicd.

Referenzarchitektur

Die folgende Enterprise-Referenzarchitektur zeigt, wie diese Schichten zusammenpassen. Entwicklertools bauen auf der Grundlage der Fabric-REST-API auf. Inhalte fließen durch die Fabric-Integrations- und Lieferschicht mit der Variable-Bibliothek, der Git-Integration und den Deployment-Pipelines. Versionskontrolle und CI-Automatisierung laufen in GitHub oder Azure DevOps mit einem CI/CD-Runner. Die zugehörigen Azure- und Fabric-Mandantenressourcen umfassen Entwicklungs-, Test- und Produktionskapazitäten, Azure Key Vault, ein privates Netzwerk, Mandanteneinstellungen, Verbindungen, Domänen sowie die durch Branch-Out erstellten übergeordneten und Branch-Arbeitsbereiche.

Diagramm der Enterprise-Referenzarchitektur, das Entwicklersteuerungstools über der Fabric-REST-API-Grundlagenschicht, die Fabric-Integrations- und Bereitstellungsschicht mit Variablenbibliothek, Git-Integration und Bereitstellungspipelines, Quellcodeverwaltung und CI-Automatisierung mit GitHub, Azure DevOps und einem CI/CD-Runner sowie den Azure- und Fabric-Mandantenressourcenplan mit Dev-, Test- und Prod-Kapazitäten, Azure Key Vault, einem privaten Netzwerk sowie übergeordneten und Verzweigungsarbeitsbereichen zeigt.

Fabric REST APIs: die Grundlage

Alle Fabric CI/CD-Funktionen basieren auf den Fabric REST APIs, die programmatischen Zugriff auf Kernoperationen bieten: Artikelerstellung, Lesen, Aktualisieren und Löschen, Artikeldefinitionen, Kapazität, Arbeitsbereich und Zugriffsmanagement sowie Jobplanung. Jede Erfahrung auf höherer Ebene, von der Git-Integration bis zu Deployment-Pipelines, nutzt diese APIs, sodass man alles, was man im Portal macht, auch automatisieren kann.

Integration und Lieferung von Fabric

Diese Schicht transportiert Inhalte zuverlässig von der Entwicklung zur Produktion durch drei komplementäre Fähigkeiten.

Hinweis

Einige der CI/CD-Elemente sind als Vorschau verfügbar. Siehe die Liste der unterstützten Elemente für die Funktionen der Git-Integration und der Bereitstellungspipeline .

Git-Integration

Flussdiagramm: Verbindung zwischen Git-Remotebranch und Livearbeitsbereich

Durch die Nutzung der Git-Integration von Fabric können mehrere Entwickler häufig und zuverlässig inkrementelle Workspace-Updates vornehmen. Durch die Anwendung von Git-Vorteilen und Best Practices arbeiten Entwickler zusammen und sorgen dafür, dass Inhaltsänderungen schnell und zuverlässig in den Arbeitsbereich gelangen. Wenn der Inhalt bereit ist, kann der Lieferprozess ihn dann an Bereitstellungspipelines für Tests und Verteilung liefern.

Bereitstellungspipelines

Abbildung: Datenfluss in einer Bereitstellungspipeline von den Daten zur App

Die Bereitstellungspipelines von Fabric automatisieren die Lieferung modifizierter Inhalte an Umgebungen wie Testing und Produktion. Teams produzieren Updates in kurzen Zyklen mit hoher Geschwindigkeit, Häufigkeit und Zuverlässigkeit. Sie können Inhalte jederzeit mit einem einfachen, wiederholbaren Bereitstellungsprozess veröffentlichen.

Für das effizienteste CI/CD-Erlebnis in Fabric verbinden Sie Ihren Entwickler-Arbeitsbereich mit Git und deployen Sie aus dem verbundenen Arbeitsbereich über Deployment-Pipelines.

Variable Library

Durch die Verwendung von Variablenbibliotheken können Sie:

  • Definieren und verwalten Sie benutzerdefinierte Variablen einheitlich für alle Arbeitsbereichselemente.
  • Verwenden Sie die Variablen an verschiedenen Stellen des Produkts: in Elementdefinitionen wie Abfragen, als Verweise auf andere Elemente wie eine Lakehouse-ID und vieles mehr.
  • Wiederverwenden Sie Variablen über Fabric-Workloads und -Elemente hinweg. Zum Beispiel können mehrere Elemente im Arbeitsbereich auf dieselbe Variable verweisen.
  • Werte basierend auf der Release-Pipeline-Stufe für CI/CD anpassen.

Versionskontrolle und CI-Automatisierung

Fabric Git Integration verbindet einen Arbeitsbereich mit einem Git-Repository entweder in GitHub oder Azure DevOps. Ihre kontinuierliche Integrationsautomatisierung, wie das Validieren eines Pull-Requests oder das Aktualisieren eines Integrationsarbeitsbereichs aus Git, läuft in jedem CI/CD-Runner: GitHub Actions, Azure Pipelines oder einem selbstgehosteten Runner. Die Unterstützung für Dienstprinzipale ermöglicht es diesen automatisierten Flows, sich beim Azure DevOps-Anbieter ohne einen angemeldeten Benutzer zu authentifizieren.

Entwickler-Tools und Infrastruktur als Code

Entwickler steuern die Plattform durch skriptbare Werkzeuge, die auf den Fabric REST APIs aufbauen.

Fabric CLI

Die Fabric CLI (fab) ist ein Open-Source-, skriptbares Kommandozeilen-Tool mit einer filesystemähnlichen Schnittstelle über Fabric. Es funktioniert gut in GitHub Actions und Azure DevOps, um Git-Synchronisation, Bereitstellung und Item-Management zu automatisieren.

Terraform und Fabric-CICD

Für Infrastruktur als Code verwenden Sie den Terraform-Anbieter für Microsoft Fabric, um Fabric-Umgebungen wie Arbeitsbereiche und Kapazitäten bereitzustellen. Verwenden Sie fabric-cicd, eine Python-Bibliothek, um Item-Definitionen aus einem quellcode-gesteuerten Repository bereitzustellen. Fabric-CICD ist das am weitesten verbreitete Einsatzwerkzeug für Fabric CI/CD.