Pipelines mithilfe der Versionsverwaltung verwalten

Auf dieser Seite wird beschrieben, wie Sie Pipelines mithilfe der Versionskontrolle in Cloud Data Fusion über Git-Repositories verwalten.

Versionsverwaltung

Cloud Data Fusion bietet die Möglichkeit, Pipelines für ETL- und ELT-Integrationen visuell zu entwerfen. Für eine bessere Verwaltung von Pipelines zwischen Entwicklung und Produktion ermöglicht Cloud Data Fusion die Versionskontrolle der Pipelines mit GitHub und anderen Versionskontrollsystemen.

Mit der Quellkontrollverwaltung in Cloud Data Fusion haben Sie folgende Möglichkeiten:

  • Integrieren Sie jeden Cloud Data Fusion-Namespace in ein Versionskontrollsystem.
  • Pipelines in einem zentralen Git-Repository verwalten
  • Pipelineänderungen prüfen und analysieren.
  • Änderungen an der Pipeline rückgängig machen.
  • Effektiv mit dem Team zusammenarbeiten und gleichzeitig eine zentrale Kontrolle ermöglichen.

Hinweis

  • Die Quellcodeverwaltung unterstützt die Integration mit GitHub-, Bitbucket-Server-, Bitbucket-Cloud- und Gitlab-Repositories.
  • GitHub OAuth wird nicht unterstützt.
  • Die Versionsverwaltung unterstützt nur Batchpipelines.
  • Die Versionsverwaltung unterstützt nur JSON-Dateien für Pipeline-Designs für Push- und Pull-Vorgänge. Ausführungskonfigurationen werden nicht unterstützt.
  • Das Größelimit des verknüpften Repositories beträgt 5 GB.

Erforderliche Rollen und Berechtigungen

Die Verwaltung der Quellkontrolle in Cloud Data Fusion umfasst zwei wichtige Vorgänge:

  • Repositories für die Versionskontrolle konfigurieren
  • Pipelines mit Git-Repositories über Push- und Pull-Vorgänge synchronisieren

Bitten Sie Ihren Administrator, Ihnen eine der folgenden vordefinierten Rollen für Ihr Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zur Verwendung der Funktion „Verwaltung der Quellkontrolle“ benötigen:

Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff verwalten.

Möglicherweise können Sie die erforderlichen Berechtigungen auch über andere vordefinierte Rollen erhalten.

Git-Repository einrichten

Folgen Sie der Anleitung unter Repository erstellen, um ein Git-Repository in GitHub zu erstellen.

Weitere Informationen zu persönlichen Zugriffstokens in GitHub und anderen Versionskontrollsystemen finden Sie auf den folgenden Seiten:

Git-Repository mit Cloud Data Fusion verbinden

In Cloud Data Fusion können Sie Ihr Git-Repository auf dem Tab „Verwaltung der Quellkontrolle“ für jeden Namespace konfigurieren und verbinden. So verknüpfen Sie einen Namespace mit Ihrem Git-Repository:

Console

  1. Klicken Sie in Cloud Data Fusion Studio auf  Menü.
  2. Klicken Sie auf Namespace-Administrator.
  3. Klicken Sie auf der Seite Namespace-Administrator auf den Tab Verwaltung der Quellkontrollfunktion.
  4. Klicken Sie auf Repository verknüpfen.
  5. Geben Sie die folgenden Informationen ein:

    • Anbieter: Wählen Sie einen Git-Dienstanbieter wie GitHub oder GitLab aus.
    • Repository-URL: Geben Sie die URL ein, unter der auf Ihr Repository zugegriffen werden kann. Für GitHub lautet die Repository-URL https://github.com/HOST/REPO.
    • Standardzweig (optional): Geben Sie den ursprünglichen Git-Zweig ein. Dieser Branch kann sich vom auf GitHub konfigurierten Standard-Branch unterscheiden. Dieser Branch wird unabhängig vom Standard-Branch auf GitHub zum Synchronisieren von Pipelines verwendet.
    • Pfadpräfix (optional): Geben Sie ein Präfix für den Pipelinenamen ein, das im Git-Repository gespeichert wird. Wenn der Name Ihrer Pipeline beispielsweise DataFusionQuickStart lautet und Sie das Präfix namespaceName angeben, wird die Pipeline im Git-Repository als namespaceName/DataFusionQuickStart gespeichert.
    • Authentifizierungstyp: In Cloud Data Fusion können Sie das personalisierte Zugriffstoken als Authentifizierungstyp verwenden. Diese Option wird automatisch ausgewählt.
    • Tokenname: Geben Sie einen Namen ein, der dem Token zugeordnet werden kann.
    • Token: Geben Sie das vom GitHub-Repository bereitgestellte Token ein.
    • Optional: Nutzername: Geben Sie einen Nutzernamen oder einen Inhaber für das Token ein.
  6. Klicke auf Validieren. Warten Sie, bis die Verbindung bestätigt wurde.

  7. Wenn die Konfiguration abgeschlossen ist, klicken Sie auf Speichern und schließen, um sie zu bestätigen.

Verbinden Sie ein Git-Repository mit Cloud Data Fusion.

REST API

  1. Erstellen Sie einen geheimen Schlüssel in Cloud Data Fusion, der das persönliche Zugriffstoken enthält.

  2. Führen Sie dazu diesen Befehl aus:

    curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" 
    ${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_ID/securekeys/PASSWORD_SECRET_KEY -X PUT -d '{ "description": "Example Secure Key","data": "PERSONAL_ACCESS_TOKEN"}'
    

    Ersetzen Sie Folgendes:

    • NAMESPACE_ID: die ID des Namespace.
    • PASSWORD_SECRET_KEY: der Name des geheimen Schlüssels, der das persönliche Zugriffstoken enthält.
    • PERSONAL_ACCESS_TOKEN: Persönliches Zugriffstoken von GitHub.
  3. Führen Sie dazu diesen Befehl aus:

    curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" 
    ${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_ID/repository -X PUT -d '{"test": "TEST_ONLY", "config": {"provider": "PROVIDER_TYPE", "link": "REPO_URL", "defaultBranch": "DEFAULT_BRANCH", "pathPrefix": "PATH_TO_DIRECTORY", "auth": {"type": "AUTH_TYPE", "patConfig": {"passwordName": "PASSWORD_SECRET_KEY", "username": "USER_NAME"}}}}'
    

    Ersetzen Sie Folgendes:

    • NAMESPACE_ID: die ID des Namespace.
    • TEST_ONLY: Legen Sie diesen Wert auf true fest, wenn Sie die Konfiguration nur validieren und nicht ergänzen möchten.
    • PROVIDER_TYPE: der Name des Git-Anbieters, also GITHUB.
    • REPO_URL: Die zu verknüpfende Repository-URL. Verwenden Sie eine https-URL, z. B. https://github.com/user/repo.git.
    • DEFAULT_BRANCH: Branch, der für Push- und Pull-Vorgänge verwendet wird. Wenn Sie diesen Parameter weglassen, wird der standardmäßig konfigurierte Zweig im Repository verwendet, z. B. der Hauptzweig.
    • PATH_TO_DIRECTORY: Pfad zum Verzeichnis im Repository, in dem Konfigurationsdateien gespeichert sind.
    • AUTH_TYPE: den Authentifizierungstyp. Es wird nur PAT unterstützt. Weitere Informationen finden Sie unter Detaillierte Zugriffsrechte für persönliche Zugriffstokens in GitHub.
    • PASSWORD_SECRET_KEY: Der Name des geheimen Schlüssels, der das persönliche Zugriffstoken für den Authentifizierungstyp PAT enthält.
    • USER_NAME: Sie können diesen Wert für den Authentifizierungstyp PAT weglassen.

Cloud Data Fusion-Pipelines mit einem Remote-Repository synchronisieren

Nachdem Sie ein Git-Repository mit einem Namespace konfiguriert haben, können Sie Pipelines pushen und pullen und mit dem Git-Repository synchronisieren.

Pipelines aus Cloud Data Fusion in ein Git-Repository pushen

So synchronisieren Sie mehrere bereitgestellte Pipelines aus einem Namespace mit einem Git-Repository:

Console

  1. Klicken Sie in Cloud Data Fusion Studio auf  Menü.
  2. Klicken Sie auf Namespace-Administrator.
  3. Klicken Sie auf der Seite Namespace-Administrator auf den Tab Verwaltung der Quellkontrollfunktion.
  4. Suchen Sie das Git-Repository, mit dem Sie synchronisieren möchten, und klicken Sie auf Pipelines synchronisieren.
  5. Klicken Sie auf den Tab Namespace-Pipelines.
  6. Suchen Sie nach den Pipelines, die Sie in das Git-Repository pushen möchten, und wählen Sie sie aus.

    Wenn die neueste Version der Pipeline in das Git-Repository gepusht oder daraus gezogen wird, wird für den Status Mit Git verbunden Connected angezeigt. Wenn die Pipeline noch nie auf GitHub gepusht wurde, ist der Status Mit Git verbunden leer (-).

    Wenn Sie eine neuere Version einer Pipeline bereitstellen, die bereits mit dem Git-Repository synchronisiert ist, ändert sich der Status Mit Git verbunden von Connected in leer (-).

  7. Klicken Sie auf An Repository senden.

  8. Geben Sie eine Commit-Nachricht ein und klicken Sie auf OK.

    Der Push-Vorgang wird gestartet und eine Meldung wird angezeigt, dass die ausgewählten Pipelines in das Remote-Repository gepusht werden.

Pipelines aus Cloud Data Fusion in das Git-Repository pushen

Wenn der Pushvorgang erfolgreich abgeschlossen wurde, wird eine Erfolgsmeldung mit der Anzahl der Pipelines angezeigt, die an das Remote-Repository gepusht wurden.

Wenn der Pushvorgang fehlschlägt, prüfen Sie in GitHub, ob es sich um die neueste Version der Pipeline handelt. Bei jedem fehlgeschlagenen Push-Vorgang wird eine Fehlermeldung angezeigt. Maximieren Sie die Fehlermeldung, um die Details des Fehlers aufzurufen.

Sie können auch einzelne Pipelines aus dem Pipeline Design Studio in ein Git-Repository verschieben:

  1. Klicken Sie in Cloud Data Fusion Studio auf  Menü.
  2. Klicken Sie auf Liste.
  3. Klicken Sie auf die Pipeline, die Sie in das Git-Repository pushen möchten.
  4. Klicken Sie auf der Seite „Pipeline“ auf Aktionen > In Repository pushen.
  5. Geben Sie eine Commit-Nachricht ein und klicken Sie auf OK.

Pipelines aus dem Pipeline Design Studio pushen

REST API

  1. Pipelines aus Cloud Data Fusion in das Git-Repository pushen:

    curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json"
    ${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_ID/repository/apps/push -X POST
    -d '{"apps": ["PIPELINE_NAME_1", "PIPELINE_NAME_2"]}, "commitMessage": "COMMIT_MESSAGE"'
    

    Ersetzen Sie Folgendes:

    • NAMESPACE_ID: die ID des Namespace.
    • PIPELINE_NAME_1, PIPELINE_NAME_2: Namen der Pipelines, die gepusht werden sollen.
    • COMMIT_MESSAGE: Commit-Nachricht für den Git-Commit.

    Die Antwort enthält die ID des Push-Vorgangs. Beispiel:

    RESPONSE
    {
    "id": OPERATION_ID
    }
    
  2. Führen Sie folgenden Befehl aus, um den Status des Push-Vorgangs abzufragen:

    curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" 
    ${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_ID/operations/OPERATION_ID
    

    Ersetzen Sie Folgendes:

    • NAMESPACE_ID: die ID des Namespace.
    • OPERATION_ID: Die Vorgangs-ID, die vom Push-Vorgang empfangen wurde.

    Die Antwort enthält den Status des Push-Vorgangs. Beispiel:

    RESPONSE
    {
    "id": OPERATION_ID
    "done": True/False
    "status": STARTING/RUNNING/SUCCEEDED/FAILED
    "error": {"message": ERROR_MESSAGE, "details":[{"resourceUri": RESOURCE, "message": ERROR_MESSAGE}]}
    }
    

    Prüfe in der Antwort, ob der Push-Vorgang abgeschlossen ist. Sieh dazu in der Antwort nach der Eigenschaft done. Wenn der Vorgang fehlgeschlagen ist, sehen Sie in der Property error nach, um weitere Informationen zu erhalten.

Pipelines aus einem Git-Repository in Cloud Data Fusion abrufen

So synchronisieren Sie mehrere Pipelines aus einem Git-Repository mit Ihrem Namespace:

Console

  1. Klicken Sie in Cloud Data Fusion Studio auf  Menü.
  2. Klicken Sie auf Namespace-Administrator.
  3. Klicken Sie auf der Seite Namespace-Administrator auf den Tab Verwaltung der Quellkontrollfunktion.
  4. Suchen Sie das Git-Repository, mit dem Sie synchronisieren möchten, und klicken Sie auf Pipelines synchronisieren.
  5. Klicken Sie auf den Tab Repository-Pipelines. Alle im Git-Repository gespeicherten Pipelines werden angezeigt.
  6. Suchen Sie nach den Pipelines, die Sie aus dem Git-Repository in Ihren Cloud Data Fusion-Namespace ziehen möchten, und wählen Sie sie aus.
  7. Klicken Sie auf Aus Repository abrufen.

    Der Pull-Vorgang wird gestartet und eine Meldung wird angezeigt, dass die ausgewählten Pipelines aus dem Remote-Repository abgerufen werden. Cloud Data Fusion sucht unter dem konfigurierten Pfad nach JSON-Dateien, ruft sie ab und implementiert sie als Pipelines in Cloud Data Fusion.

Pipelines aus dem Git-Repository in Cloud Data Fusion abrufen

Wenn der Pull-Vorgang erfolgreich abgeschlossen wurde, wird eine Erfolgsmeldung mit der Anzahl der Pipelines angezeigt, die aus dem Remote-Repository abgerufen wurden.

Wenn der Pull-Vorgang fehlschlägt, wird eine Fehlermeldung angezeigt. Maximieren Sie die Fehlermeldung, um die Details des Fehlers aufzurufen.

Sie können auch einzelne Pipelines aus einem Git-Repository in einen Namespace aus dem Pipeline Design Studio ziehen:

  1. Klicken Sie in Cloud Data Fusion Studio auf  Menü.
  2. Klicken Sie auf Liste.
  3. Klicken Sie auf die Pipeline, die Sie aus dem Git-Repository abrufen möchten.
  4. Klicken Sie auf der Seite „Pipeline“ auf Aktionen > Aus Repository abrufen.

Pipelines aus dem Pipeline Design Studio abrufen

REST API

  1. So holen Sie eine Reihe von Pipelines aus dem Git-Repository in Cloud Data Fusion ab:

    curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" 
    ${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_ID/repository/apps/pull -X POST -d '{"apps": ["PIPELINE_NAME_1", "PIPELINE_NAME_2"]}'
    

    Ersetzen Sie Folgendes:

    • NAMESPACE_ID: die ID des Namespace.
    • PIPELINE_NAME_1, PIPELINE_NAME_2: Namen der Pipelines, die abgerufen werden sollen.

    Die Antwort enthält die ID des Pull-Vorgangs. Beispiel:

    RESPONSE
    {
    "id": OPERATION_ID
    }
    
  2. Führen Sie folgenden Befehl aus, um den Status des Pull-Vorgangs abzufragen:

    curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" 
    ${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_ID/operations/OPERATION_ID
    

    Ersetzen Sie Folgendes:

    • NAMESPACE_ID: die ID des Namespace.
    • OPERATION_ID: Die Vorgangs-ID, die vom Pull-Vorgang empfangen wurde.

    Die Antwort enthält den Status des Pull-Vorgangs. Beispiel:

    RESPONSE
    {
    "id": OPERATION_ID
    "done": True/False
    "status": STARTING/RUNNING/SUCCEEDED/FAILED
    "error": {"message": ERROR_MESSAGE, "details":[{"resourceUri": RESOURCE, "message": ERROR_MESSAGE}]}
    }
    

    Prüfe in der Antwort, ob der Pull-Vorgang abgeschlossen ist. Sieh dazu in der Antwort nach der Eigenschaft done. Wenn der Vorgang fehlgeschlagen ist, sehen Sie in der Property error nach, um weitere Informationen zu erhalten.

Konfiguration des Git-Repositories löschen

So löschen Sie die Git-Repository-Konfiguration aus einem Namespace:

Console

  1. Klicken Sie in Cloud Data Fusion Studio auf  Menü.
  2. Klicken Sie auf Namespace-Administrator.
  3. Klicken Sie auf der Seite Namespace-Administrator auf den Tab Verwaltung der Quellkontrollfunktion.
  4. Klicken Sie bei der Konfiguration des Git-Repositorys, die Sie löschen möchten, auf > Löschen.

REST API

Löschen Sie die Git-Repository-Konfiguration:

curl -H "Authorization: Bearer $(gcloud auth print-access-token)"
${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_ID/repository -X DELETE

Ersetzen Sie NAMESPACE_ID durch die ID des Namespaces.

Nächste Schritte