Versionskontrolle für kundenspezifische Abläufe¶
Openflow unterstützt Registry-Clients, einschließlich GitHub-Registry-Client, mit dem Sie unter Verwendung eines Git-Repository Ihre kundenspezifischen Ablaufdefinitionen speichern und versionieren können. Dies ermöglicht die standardmäßigen Lebenszykluspraktiken der Softwareentwicklung (SDLC), wie z. B. Verzweigungen, Pull-Anforderungen, Codeüberprüfung und Umgebungspflege.
Ein typischer Workflow ist:
Verwalten eines
main-Zweigs, der die Definitionen Ihres Produktionsablaufs darstellt.Erstellen von Feature-Zweigen für neue Entwicklungen.
Entwickeln und Committen von Änderungen auf der Openflow-Arbeitsoberfläche.
Öffnen von Pull-Anforderungen, überprüfen mit Workflow Diff und zusammenführen.
Voraussetzungen¶
Ein GitHub-Repository zum Speichern von Ablaufdefinitionen.
Ein GitHub Personal Access Token mit
repository-Zugriff.Eine Openflow-Laufzeitumgebung mit Zugriff auf die Openflow-Arbeitsoberfläche.
Entsprechende Berechtigungen der Snowflake-Rolle für das Laufzeitintegrationsobjekt.
Schritt 1: Einen GitHub-Registry-Client erstellen¶
Erstellen Sie ein Repository in GitHub, um Ihre Ablaufdefinitionen zu speichern.
Generieren Sie ein Personal Access Token (PAT) in GitHub mit Repository-Zugriffsberechtigungen.
Navigieren Sie auf der Openflow-Arbeitsoberfläche zu Controller Settings, und erstellen einen neuen Registry-Client.
Wählen Sie GitHub Registry Client als Typ aus.
Konfigurieren Sie den Registry-Client mit:
Ihrer GitHub-Repository-URL.
Dem GitHub-Repository-Eigentümer.
Ihrem persönlichen Zugriffstoken (Personal Access Token) zur Authentifizierung.
Schritt 2: Einen neuen Ablauf erstellen und versionieren¶
Erstellen Sie auf der Openflow-Arbeitsoberfläche eine neue Prozessgruppe für Ihren Ablauf.
Erstellen Sie Ihren Ablauf: Fügen Sie Prozessoren hinzu, konfigurieren Sie Verbindungen, und richten Sie Ihre Datenpipeline ein.
Klicken Sie mit der rechten Maustaste auf die Prozessgruppe, und wählen Sie Start Version Control aus.
Wählen Sie den GitHub-Registry-Client aus, den Sie in Schritt 1 konfiguriert haben.
Geben Sie einen Ablaufnamen und eine anfängliche Commit-Meldung an.
Nachdem Sie gespeichert haben, wird die Ablaufdefinition in Ihr GitHub-Repository übertragen. Sie können dies verifizieren, indem Sie das Repository in GitHub überprüfen.
Schritt 3: Zweige verwenden, um Änderungen zu verwalten¶
Einen Entwicklungszweig erstellen¶
Erstellen Sie in Ihrem GitHub-Repository einen neuen Zweig (z. B. dev oder einen Feature-Zweig wie feature/add-new-table).
Im Zweig importieren und entwickeln¶
Importieren Sie auf der Openflow-Arbeitsoberfläche den Ablauf aus der GitHub-Registry in eine neue Prozessgruppe durch Ziehen des Import from Registry-Symbols von der Symbolleiste auf den Arbeitsbereich.
Wählen Sie beim Importieren den Zielzweig aus (z. B.
dev), mit dem Sie arbeiten möchten.Nehmen Sie Ihre Änderungen an dem Ablauf innerhalb der Prozessgruppe vor.
Übertragen Sie Ihre Änderungen in Openflow. Dadurch wird die aktualisierte Ablaufdefinition in den ausgewählten Zweig in GitHub verschoben.
Über die Pull-Anforderung überprüfen und zusammenführen¶
Öffnen Sie in GitHub eine Pull-Anforderung aus Ihrem Entwicklungszweig in
main.Überprüfen Sie die Änderungen. Verwenden Sie die Snowflake Flow Diff GitHub-Aktion (siehe Schritt 4) für von Menschen lesbare Unterschiede.
Führen Sie die Pull-Anforderung zusammen, nachdem sie genehmigt wurde.
Zurück auf der Openflow-Arbeitsoberfläche aktualisieren Sie die
main-Prozessgruppe, um die neueste Version aus demmain-Zweig abzurufen.
Schritt 4: Snowflake Flow Diff (GitHub-Aktion) einrichten¶
Snowflake Flow Diff ist eine GitHub-Aktion, die Ablaufänderungen für Menschen lesbar macht, indem ein visueller Vergleich Ihrer Pipeline-Änderungen direkt in Pull-Anforderungs-Konversationen gerendert wird.
Die Workflow-Datei einrichten¶
Erstellen Sie in Ihrem GitHub-Repository die Datei
.github/workflows/flowdiff.yml.Kopieren Sie die Workflow-Konfiguration aus dem Snowflake Flow Diff-Repository (siehe Abschnitt „Nutzung“ in der README-Datei).
Committen und verschieben Sie die Workflow-Datei.
Ablaufänderungen überprüfen¶
Wenn eine Pull-Anforderung geöffnet ist, wird die Flow Diff-Aktion automatisch ausgeführt.
Navigieren Sie zur Registerkarte Conversations in der Pull-Anforderung, und warten Sie, bis die Flow Diff-Analyse angezeigt wird.
Die Analyse zeigt einen visuellen, von Menschen lesbaren Vergleich von Ablaufänderungen anstelle von Rohdaten für JSON-Unterschiede.
Parameter in verschiedenen Umgebungen verwalten¶
Openflow verwendet Parameter, um umgebungsspezifische Werte (z. B. Verbindungszeichenfolgen, Anmeldeinformationen, Tabellennamen) über verschiedene Laufzeitumgebungen hinweg zu verwalten.
Beachten Sie die folgenden Konzepte:
Parameter sind in einem Parameterkontext gruppiert, der eine Eins-zu-Eins-Zuordnung mit einer Prozessgruppe hat.
Die Vererbung von Parameterkontexten ermöglicht es Ihnen, gemeinsame Parameter in einem übergeordneten Kontext zu definieren und bestimmte Werte in untergeordneten Kontexten zu überschreiben. Dies ist nützlich, um Abläufe in Entwicklungs-, Stagingbereich- und Produktionsumgebungen zu unterstützen.
Parameterkontexte können in Secrets Managers integriert werden, um sensible Anmeldeinformationen sicher zu behandeln, ohne sie in der Definition des Ablaufs zu speichern.
Empfohlener SDLC-Workflow¶
Entwicklungsumgebung: Entwickler erstellen Feature-Zweige, erstellen oder ändern Abläufe und übertragen Änderungen auf der Openflow-Arbeitsoberfläche für ihren Feature-Zweig.
Codeüberprüfung: Öffnen Sie eine Pull-Anforderung in GitHub. Verwenden Sie Snowflake Flow Diff für lesbare Bewertungen.
Mit Main zusammenführen: Nach der Genehmigung führen Sie die Pull-Anforderung im
main-Zweig zusammen.Zur Produktion heraufstufen: Aktualisieren Sie in der Laufzeitumgebung Ihrer Produktion die Prozessgruppe, um die neueste Version von
mainabzurufen.Parametrisieren: Verwenden Sie Parameterkontexte, um die umgebungsspezifische Konfiguration zu handhaben, ohne die Ablaufdefinition selbst zu ändern.