Freigeben über


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.

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.

  1. Melden Sie sich bei Fabric an, und navigieren Sie zu dem Arbeitsbereich, den Sie mit Git verbinden möchten.

  2. Wählen Sie Arbeitsbereichseinstellungen aus.

    Screenshot, der zeigt, wo Arbeitsbereichseinstellungen in der Fabric-Benutzeroberfläche ausgewählt werden sollen.

  3. Wählen Sie Git-Integration aus.

  4. 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.

    Screenshot, der zeigt, wo ein GitHub-Konto für eine Git-Integration eines Fabric-Arbeitsbereichs hinzugefügt werden soll.

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.

  1. Geben Sie im Dropdownmenü die folgenden Details zu dem Branch an, mit dem Sie eine Verbindung herstellen möchten:

    1. 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.
    2. 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.
  2. Wählen Sie Verbinden und synchronisieren aus.

  3. 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.

    Screenshot des Fabric-Arbeitsbereichs mit Git-Status und anderen Details, die für die Pipelines gemeldet wurden.

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.

  1. Wechseln Sie zum Arbeitsbereich.

  2. Wählen Sie das Symbol für die Quellcodeverwaltung aus. Dieses Symbol zeigt die Anzahl der nicht committeten Änderungen an.

    Screenshot der Schaltfläche „Quellcodeverwaltung” in der Benutzeroberfläche des Fabric-Arbeitsbereichs.

  3. 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.

  4. Wählen Sie die Elemente aus, die Sie committen möchten. Um alle Elemente auszuwählen, aktivieren Sie das obere Kontrollkästchen.

  5. (Optional) Fügen Sie im Feld einen Commit-Kommentar hinzu.

  6. Klicken Sie auf Commit.

    Screenshot des Dialogfelds „Quellcodeverwaltung” für einen Git-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

  1. Wechseln Sie zum Arbeitsbereich.

  2. Wählen Sie das Symbol für die Quellcodeverwaltung aus.

  3. 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.

  4. Wählen Sie Alle aktualisieren aus.

    Screenshot der Registerkarte „Updates” des Dialogfelds „Quellcodeverwaltung” in der Fabric-Benutzeroberfläche.

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:

Schritt 1: Erstellen einer Bereitstellungspipeline

  1. Wählen Sie im Flyout Arbeitsbereiche die Option Bereitstellungspipelines aus.

    Screenshot des Flyouts „Arbeitsbereiche” mit der Schaltfläche „Bereitstellungspipelines” in der Fabric-Benutzeroberfläche.

  2. Wählen Sie Pipeline erstellen oder + Neue Pipeline aus.

Schritt 2: Benennen der Pipeline und Zuweisen von Phasen

  1. Geben Sie im Dialogfeld Bereitstellungspipeline erstellen einen Namen und eine Beschreibung für die Pipeline ein, und wählen Sie Weiter aus.

  2. 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.

    Screenshot der standardmäßigen Bereitstellungspipelinephasen.

    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.

    Screenshot einer ausgefüllten Beispielbereitstellungspipeline.

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

  1. 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).
  2. 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

  1. 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.
  2. 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.