CI/CD für Pipelines in Data Factory in Microsoft Fabric
In Fabric Data Factory automatisiert Continuous Integration und Continuous Delivery (CI/CD) die Integration, Tests und Bereitstellung von Codeänderungen, um eine effiziente und zuverlässige Entwicklung sicherzustellen.
In Fabric gibt es zwei Features, die wir derzeit in Zusammenarbeit mit dem Application Lifecycle Management (ALM)-Team unterstützen: Git-Integrations- und Bereitstellungspipelinen. Mit diesen Features können Benutzer Arbeitsbereichsressourcen mit einzelnen Updates importieren/exportieren.
Die Fabric Data Factory CI/CD-Lösung weicht vom Azure Data Factory-Modell ab, bei dem vollständige Factoryupdates mithilfe der ARM-Vorlagenexportmethodik bevorzugt werden. Mit dieser Änderung der Methodik können Kunden selektiv auswählen, welche Pipelines aktualisiert werden sollen, ohne die gesamte Zuordnungsinstanz zu pausieren. Sowohl die Git-Integration (bring-your-own Git) als auch Bereitstellungspipelines (integrierte CI/CD) verwenden das Konzept eines einzelnen Arbeitsbereichs mit einer einzigen Umgebung. Sie müssen Ihren verschiedenen Arbeitsbereichen unterschiedliche Umgebungen zuordnen, z. B. Entwicklungs-, Test- und Produktionsumgebungen.
Warum Entwickler CI/CD verwenden
CI/CD ist eine Praxis, die die Softwarebereitstellung automatisiert und einige bekannte Probleme löst:
- Probleme mit manueller Integration: Ohne CI/CD kann die manuelle Integration von Codeänderungen zu Konflikten und Fehlern führen und die Entwicklung verlangsamen.
- Entwicklungsverzögerungen: Manuelle Bereitstellungen sind zeitaufwändig und anfällig für Fehler, was zu Verzögerungen bei der Bereitstellung neuer Features und Updates führt.
- Inkonsistente Umgebungen: Verschiedene Umgebungen (Entwicklung, Tests und Produktion) können Inkonsistenzen aufweisen, was zu Problemen führt, die schwer zu debuggen sind.
- Fehlende Sichtbarkeit: Ohne CI/CD kann das Nachverfolgen von Änderungen und das Verständnis des Zustands der Codebasis eine Herausforderung darstellen.
Grundlegendes zu CI/CD, Git und Bereitstellungspipelines
CI/CD umfasst Continuous Integration und Continuous Delivery (kontinuierliche Integration und kontinuierliche Bereitstellung).
Continuous Integration (CI)
Entwickler committen häufig in einen Git-verwalteten Mainbranch, wodurch automatisierte Tests und Builds für die Integration ausgelöst werden. Git verfolgt Änderungen, um das automatische Abrufen und Testen neuer Commits zu ermöglichen.
Continuous Deployment (CD)
Konzentriert sich auf die Bereitstellung überprüfter Änderungen an Produktionsentwicklungen durch strukturierte Bereitstellungsphasen innerhalb von Bereitstellungspipelines.
Git-Integration mit Data Factory-Pipelines
Git ist ein Versionssteuerungssystem, mit dem Entwickler Änderungen in ihrer Codebasis (oder JSON-Codedefinitionen im Fall von Pipelines) nachverfolgen und mit anderen zusammenarbeiten können. Es stellt ein zentrales Repository bereit, in dem Codeänderungen gespeichert und verwaltet werden. Derzeit wird Git in Fabric über GitHub oder Azure DevOps unterstützt. Es gibt einige wichtige Workflow-Grundlagen, die Sie beim Arbeiten mit Git verstehen müssen.
- Mainbranch: Der Mainbranch, auch als Masterbranch bezeichnet, enthält produktionsbereiten Code.
- Featurebranches: Diese Branches sind vom Mainbranch getrennt und ermöglichen eine isolierte Entwicklung, ohne den Mainbranch zu ändern.
- Pull Requests (PRs): PRs ermöglichen es Benutzern, vor der Integration Änderungen vorzuschlagen, zu überprüfen und zu besprechen.
- Zusammenführen: Dies wird ausgeführt, wenn Änderungen genehmigt wurden. Git integriert diese Änderungen und aktualisiert das Projekt kontinuierlich.
Bereitstellungspipelines für Git
Bereitstellungspipelines sind eng in Git integriert. Wenn ein Entwickler Codeänderungen an das Git-Repository überträgt, wird die CI/CD-Pipeline ausgelöst. Diese Integration stellt sicher, dass die neuesten Codeänderungen immer getestet und automatisch bereitgestellt werden.
Phasen und Aufträge
Bereitstellungspipelines bestehen aus mehreren Phasen und Aufträgen innerhalb jeder Phase. In der Regel sind diese Phasen in drei Umgebungen unterteilt: Entwicklung (Kompilieren von Code), Tests (Ausführen von Tests) und Produktion (Bereitstellung der Anwendung). Die Pipeline durchläuft diese Phasen und stellt sicher, dass der Code sorgfältig getestet und auf kontrollierte Weise bereitgestellt wird.
Automatisierte Workflows
Bereitstellungspipelines automatisieren den gesamten Prozess des Erstellens, Testens und Bereitstellens von Code. Diese Automatisierung reduziert das Risiko von menschlichen Fehlern, beschleunigt den Entwicklungsprozess und stellt sicher, dass Codeänderungen konsistent und zuverlässig in die Produktion gehen.
Erste Schritte mit Git-Integration für Data Factory-Pipelines
Führen Sie die folgenden Schritte aus, um die Git-Integration für Ihre Pipelines in Data Factory einzurichten:
Voraussetzungen für die Git-Integration
Um mit Ihrem Microsoft Fabric-Arbeitsbereich auf Git zuzugreifen, stellen Sie die folgenden Voraussetzungen für Fabric und Git sicher.
- Entweder eine Power BI Premium-Lizenz oder Fabric-Kapazität.
- Aktivieren Sie die folgenden Mandantenwechsel vom Admin-Portal:
- Entweder ein Azure DevOps- oder ein GitHub-Konto.
- Für ein Azure DevOps-Konto:
- Aktives Azure-Konto, für das dieselben Benutzer*innen registriert sind, die auch den Fabric-Arbeitsbereich verwenden Erstellen Sie ein kostenloses Konto.
- Zugriff auf ein vorhandenes Repository
- Für ein GitHub-Konto:
- Ein aktives GitHub-Konto. Erstellen Sie ein kostenloses Konto.
- Entweder ein fein abgestimmtes Token mit Lese - und Schreibberechtigungen für Inhalte, unter Repositoryberechtigungen oder ein klassisches GitHub-Token mit aktivierten Repositorybereichen.
- Für ein Azure DevOps-Konto:
Schritt 1: Herstellen einer Verbindung mit einem Git-Repository
Um die Git-Integration mit Data Factory-Pipelines in Fabric zu verwenden, müssen Sie zuerst eine Verbindung mit einem Git-Repository herstellen, wie hier beschrieben.
Melden Sie sich bei Fabric an, und navigieren Sie zu dem Arbeitsbereich, den Sie mit Git verbinden möchten.
Wählen Sie Arbeitsbereichseinstellungen aus.
Wählen Sie Git-Integration aus.
Wählen Sie den gewünschten Git-Anbieter aus. Derzeit unterstützt Fabric nur Azure DevOps oder GitHub. Wenn Sie GitHub verwenden, müssen Sie Konto hinzufügen auswählen, um Ihr GitHub-Konto zu verbinden. Nachdem Sie sich angemeldet haben, wählen Sie Verbinden aus, damit Fabric auf Ihr GitHub-Konto zugreifen kann.
Schritt 2: Herstellen einer Verbindung mit einem Arbeitsbereich
Nachdem Sie eine Verbindung mit einem Git-Repository hergestellt haben, müssen Sie eine Verbindung mit einem Arbeitsbereich herstellen, wie hier beschrieben.
Geben Sie im Dropdownmenü die folgenden Details zu dem Branch an, mit dem Sie eine Verbindung herstellen möchten:
Geben Sie für Azure DevOps-Verzweigungsverbindungen die folgenden Details an:
- Organisation: Der Name der Azure DevOps-Organisation.
- Projekt: Der Name des Azure DevOps-Projekts.
- Repository: Der Name des Azure DevOps-Repositorys.
- Branch: Der Name der Azure DevOps-Verzweigung.
- Ordner: Der Name des Azure DevOps-Ordners.
Geben Sie für GitHub-Verzweigungsverbindungen die folgenden Details an:
- Repository-URL: Die GitHub-Repository-URL.
- Branch: Der GitHub-Verzweigungsname.
- Ordner: Der Name des GitHub-Ordners.
Wählen Sie Verbinden und synchronisieren aus.
Nachdem Sie eine Verbindung hergestellt haben, zeigt der Arbeitsbereich Informationen zur Quellcodeverwaltung an, die es Benutzer*innen ermöglicht, den verbundenen Branch, den Status jedes Elements im Branch und den Zeitpunkt der letzten Synchronisierung anzuzeigen.
Schritt 3: Committen von Änderungen an Git
Nachdem Sie eine Verbindung mit einem Git-Repository und einem Arbeitsbereich hergestellt haben, können Sie Änderungen an Git committen, wie hier beschrieben.
Wechseln Sie zum Arbeitsbereich.
Wählen Sie das Symbol für die Quellcodeverwaltung aus. Dieses Symbol zeigt die Anzahl der nicht committeten Änderungen an.
Wählen Sie im Bereich Quellcodeverwaltung die Registerkarte Änderungen aus. Es wird eine Liste mit allen von Ihnen geänderten Elementen und einem Symbol für den Status angezeigt: Neu
, Geändert
, Konflikt
oder Gelöscht
.
Wählen Sie die Elemente aus, die Sie committen möchten. Um alle Elemente auszuwählen, aktivieren Sie das obere Kontrollkästchen.
(Optional) Fügen Sie im Feld einen Commit-Kommentar hinzu.
Klicken Sie auf Commit.
Nachdem die Änderungen committet wurden, werden die committeten Elemente aus der Liste entfernt, und der Arbeitsbereich verweist auf den neuen Commit, mit dem er synchronisiert wird.
Schritt 4: (Optional) Aktualisieren des Arbeitsbereichs über Git
Wechseln Sie zum Arbeitsbereich.
Wählen Sie das Symbol für die Quellcodeverwaltung aus.
Wählen Sie im Bereich Quellcodeverwaltung die Option Updates aus. Es wird eine Liste mit allen Elementen angezeigt, die von Ihrer Git-Verbindungsquelle seit der letzten Aktualisierung im Branch geändert wurden.
Wählen Sie Alle aktualisieren aus.
Nach der erfolgreichen Aktualisierung wird die Liste der Elemente entfernt, und der Arbeitsbereich verweist auf den neuen Commit, mit dem er synchronisiert wird.
Erste Schritte mit Bereitstellungspipelines für Git
Führen Sie die folgenden Schritte aus, um Git-Bereitstellungspipelines mit Ihrem Fabric-Arbeitsbereich zu verwenden.
Voraussetzungen für Bereitstellungspipelines
Bevor Sie beginnen, stellen Sie sicher, dass Sie die folgenden Voraussetzungen einrichten:
- Ein aktives Microsoft Fabric-Abonnement.
- Administratorzugriff auf einen Fabric-Arbeitsbereich.
Schritt 1: Erstellen einer Bereitstellungspipeline
Wählen Sie im Flyout Arbeitsbereiche die Option Bereitstellungspipelines aus.
Wählen Sie Pipeline erstellen oder + Neue Pipeline aus.
Schritt 2: Benennen der Pipeline und Zuweisen von Phasen
Geben Sie im Dialogfeld Bereitstellungspipeline erstellen einen Namen und eine Beschreibung für die Pipeline ein, und wählen Sie Weiter aus.
Legen Sie die Struktur der Bereitstellungspipeline fest, indem Sie die erforderlichen Phasen für Ihre Bereitstellungspipeline definieren. Standardmäßig verfügt die Pipeline über drei Phasen: Entwicklung, Test und Produktion.
Sie können eine weitere Phase hinzufügen und Phasen löschen oder umbenennen, indem Sie einen neuen Namen in das Feld eingeben. Wählen Sie Erstellen (oder Erstellen und fortfahren) aus, wenn Sie fertig sind.
Schritt 3: Zuweisen eines Arbeitsbereichs zur Bereitstellungspipeline
Nachdem Sie eine Pipeline erstellt haben, müssen Sie der Pipeline die zu verwaltenden Inhalte hinzufügen. Sie fügen der Pipeline Inhalte hinzu, indem Sie der Pipelinephase einen Arbeitsbereich zuweisen. Ein Arbeitsbereich kann einer beliebigen Phase zugewiesen werden. Befolgen Sie die Anweisungen, um einer Pipeline einen Arbeitsbereich zu zuweisen.
Schritt 4: Bereitstellen in einer leeren Phase
Wenn Sie mit der Arbeit mit Inhalten in einer Pipelinephase fertig sind, können Sie diese in der nächsten Phase bereitstellen. Bereitstellungspipelines bieten drei Optionen für die Bereitstellung Ihrer Inhalte:
- Vollständige Bereitstellung: Stellen Sie alle Ihre Inhalte in der Zielstufe bereit.
- Selektive Bereitstellung: Wählen Sie aus, welche Inhalte in der Zielphase bereitgestellt werden sollen.
- Rückwärtsbereitstellung: Bereitstellen von Inhalten aus einer späteren Phase in einer früheren Phase der Pipeline. Derzeit ist die Rückwärtsbereitstellung nur möglich, wenn die Zielphase leer ist (ihr ist kein Arbeitsbereich zugewiesen).
Nachdem Sie sich für die Bereitstellung Ihrer Inhalte entschieden haben, können Sie Ihre Bereitstellung überprüfen und eine Notiz hinterlassen.
Schritt 5: Bereitstellen von Inhalten aus einer Phase in einer anderen
- Sobald Sie Inhalte in einer Pipelinephase haben, können Sie diese in der nächsten Phase bereitstellen, auch wenn der Arbeitsbereich der nächsten Stufe Inhalte enthält. Gekoppelte Elemente werden überschrieben. Weitere Informationen zu diesem Prozess finden Sie im AbschnittBereitstellen von Inhalten in einem vorhandenen Arbeitsbereich.
- Sie können im Bereitstellungsverlauf überprüfen, wann Inhalte zuletzt für jede Phase bereitgestellt wurden. Informationen zur Untersuchung der Unterschiede zwischen den beiden Pipelines vor der Bereitstellung finden Sie unter Vergleichen von Inhalten in verschiedenen Bereitstellungsphasen.
Bekannte Einschränkungen
Die folgenden bekannten Einschränkungen gelten für CI/CD für Pipelines in Data Factory in Microsoft Fabric:
- Arbeitsbereichsvariablen: CI/CD unterstützt derzeit keine Arbeitsbereichsvariablen.
- Eingeschränkte Unterstützung der Git-Integration: Derzeit unterstützt Fabric nur die Git-Integration in Azure DevOps und GitHub. Die Azure DevOps Git-Integration wird empfohlen, da die GitHub-Git-Integration mehr Einschränkungen hat.
- Pipelineaktivitäten mit OAuth-Connectors: Bei MS Teams- und Outlook-Connectors müssen Benutzer bei der Bereitstellung in einer höheren Umgebung die einzelnen Pipelines manuell öffnen und sich bei jeder Aktivität anmelden, was derzeit eine Einschränkung ist.
- Pipelines, die Datenflüsse aufrufen: Wenn eine Pipeline, die einen Datenfluss aufruft, höhergestuft wird, verweist sie weiterhin auf den Datenfluss im vorherigen Arbeitsbereich, was falsch ist. Dieses Verhalten tritt auf, da Datenflüsse derzeit in Bereitstellungspipelines nicht unterstützt werden.
Zugehöriger Inhalt
- Einführung in den CI/CD-Prozess als Teil des ALM-Zyklus in Microsoft Fabric
- Erste Schritte mit der Git-Integration, das Fabric-Tool zur Anwendungs-Lebenszyklusverwaltung (Application Lifecycle Management, ALM)
- Erste Schritte mit der Verwendung von Bereitstellungspipelines; das Fabric-Tool zur Anwendungs-Lebenszyklusverwaltung (Application Lifecycle Management, ALM)
- Blog: Erkunden der CI/CD-Funktionen in Microsoft Fabric: Ein Fokus auf Pipelines