Mit einem Git-Repository eines Drittanbieters verbinden

In diesem Dokument erfahren Sie, wie Sie ein Dataform-Repository mit einem Remote-Git-Repository eines Drittanbieters verknüpfen.

Nachdem Sie die Repositories verknüpft haben, können die Änderungen, die Sie in einem Dataform-Entwicklungsarbeitsbereich vornehmen, in das Remote-Git-Repository übertragen und daraus abgerufen werden.

Sie können ein Dataform-Repository mit einem Remote-Git-Repository verknüpfen, das von den folgenden Git-Anbietern gehostet wird:

  • Azure DevOps-Dienste

  • Bitbucket

  • GitHub

  • GitLab

Wenn Sie ein Remote-Repository eines Drittanbieters mit einem Dataform-Repository verknüpfen möchten, müssen Sie es zuerst authentifizieren. Sie können ein Remote-Repository in Dataform über HTTPS oder SSH authentifizieren.

Für Remote-Repositories von GitHub und GitLab können Sie für die Authentifizierung entweder HTTPS oder SSH verwenden. Für Remote-Repositories von Azure DevOps Services und Bitbucket müssen Sie SSH verwenden.

Hinweise

Erstellen Sie ein Dataform-Repository, falls noch nicht geschehen. Sie benötigen es später, um ein Secret für Ihr Dataform-Dienstkonto freizugeben.

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Dataform-Administrator (roles/dataform.admin) für Repositories zu gewähren, um die Berechtigungen zu erhalten, die Sie zum Verknüpfen eines Dataform-Repositorys mit einem Remote-Git-Repository benötigen. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff verwalten.

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

Remote-Repository über HTTPS authentifizieren

Sie können GitHub- und GitLab-Repositories über HTTPS authentifizieren. Dazu erstellen Sie ein Secret Manager-Secret mit einem persönlichen Zugriffstoken und geben es für Ihr Dataform-Dienstkonto frei.

Dataform verwendet dann das Zugriffstoken, um sich bei Ihrem Git-Anbieter anzumelden und Änderungen im Namen der Entwickler zu übernehmen. Dataform führt diese Commits über die Google Cloud-E-Mail-Adresse des Entwicklers durch, damit Sie wissen, wer die einzelnen Commits vorgenommen hat.

Erstellen Sie zum Authentifizieren eines GitHub-Repositorys ein klassisches persönliches Zugriffstoken oder ein detailliertes persönliches Zugriffstoken, mit dem Sie Tokenberechtigungen anpassen können.

Erstellen Sie ein klassisches persönliches Zugriffstoken, um ein GitLab-Repository zu authentifizieren.

So authentifizieren Sie ein GitHub- oder GitLab-Repository in Dataform über HTTPS:

  1. Erstellen Sie in GitHub oder GitLab ein persönliches Zugriffstoken.

  2. So erstellen Sie ein persönliches GitHub-Zugriffstoken:

    1. Gewähren Sie Dataform die Berechtigung repo.

    2. Legen Sie die Ablaufzeit für das Token fest, die Ihren Anforderungen entspricht.

    3. Wenn Ihre Organisation die SAML-Einmalanmeldung (SSO) verwendet, autorisieren Sie das Token.

  3. Optional: Wenn Sie ein detailliertes persönliches Zugriffstoken in GitHub erstellen, gehen Sie so vor:

    1. Wählen Sie den Repository-Zugriff nur auf ausgewählte Repositories aus. Wählen Sie dann das Repository aus, zu dem Sie eine Verbindung herstellen möchten.

    2. Lese- und Schreibzugriff auf Inhalte des Repositorys gewähren.

    3. Legen Sie die Ablaufzeit für das Token fest, die Ihren Anforderungen entspricht.

    4. Wenn Ihre Organisation die SAML-Einmalanmeldung (SSO) verwendet, autorisieren Sie das Token.

  4. So erstellen Sie ein persönliches GitLab-Zugriffstoken:

    1. Nennen Sie das Token dataform.

      Das persönliche GitLab-Zugriffstoken muss den Namen dataform haben.

    2. Gewähren Sie Dataform die Berechtigungen api, read_repository und write_repository.

    3. Legen Sie die Ablaufzeit für das Token fest, die Ihren Anforderungen entspricht.

  5. Erstellen Sie in Secret Manager ein Secret mit einem persönlichen Zugriffstoken zum Herstellen einer Verbindung zu Ihrem Git-Anbieter.

  6. Gewähren Sie Ihrem Dataform-Dienstkonto Zugriff auf das Secret.

    Ihr Dataform-Dienstkonto hat das folgende Format:

    service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com
    
    1. Wenn Sie Zugriff gewähren, müssen Sie Ihrem Dataform-Dienstkonto die Rolle roles/secretmanager.secretAccessor zuweisen.

Dataform verwendet das Zugriffstoken, um sich bei Ihrem Git-Anbieter anzumelden und Änderungen im Namen der Entwickler zu übernehmen. Dataform führt diese Commits über die Google Cloud-E-Mail-Adresse des Entwicklers durch, damit Sie wissen, wer die einzelnen Commits vorgenommen hat.

Remote-Repository über SSH authentifizieren

Sie können Azure DevOps Services-, Bitbucket-, GitHub- und GitLab-Repositories über SSH authentifizieren. Dazu generieren Sie einen SSH-Schlüssel und ein Secret Manager-Secret.

Der SSH-Schlüssel besteht aus einem öffentlichen und einem privaten SSH-Schlüssel. Sie müssen den öffentlichen SSH-Schlüssel an Ihren Git-Anbieter weitergeben und ein Secret Manager-Secret mit dem privaten SSH-Schlüssel erstellen. Geben Sie das Secret dann für Ihr Dataform-Dienstkonto frei.

Dataform verwendet das Secret mit dem privaten SSH-Schlüssel, um sich bei Ihrem Git-Anbieter anzumelden und Änderungen im Namen der Entwickler zu übernehmen. Dataform führt diese Commits über die Google Cloud-E-Mail-Adresse des Entwicklers durch, damit Sie wissen, wer die einzelnen Commits vorgenommen hat.

So authentifizieren Sie ein Azure DevOps Services-, Bitbucket-, GitHub- oder GitLab-Repository in Dataform über SSH:

  1. Erstellen Sie in Azure DevOps Services, Bitbucket, GitHub oder GitLab einen SSH-Schlüssel.

  2. Laden Sie den öffentlichen SSH-Schlüssel in das Git-Konto des Drittanbieters hoch.

  3. Erstellen Sie ein Secret in Secret Manager mit dem privaten SSH-Schlüssel als Secret-Wert.

  4. Gewähren Sie Ihrem Dataform-Dienstkonto Zugriff auf das Secret.

    Ihr Dataform-Dienstkonto hat das folgende Format:

    service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com
    
    1. Wenn Sie Zugriff gewähren, müssen Sie Ihrem Dataform-Dienstkonto die Rolle roles/secretmanager.secretAccessor zuweisen.

Dataform-Repository verbinden

So verknüpfen Sie ein Dataform-Repository mit einem Remote-Git-Repository:

  1. Rufen Sie in der Google Cloud Console die Seite Dataform auf.

    Zu Dataform

  2. Wählen Sie das Repository aus, zu dem Sie eine Verbindung herstellen möchten.

  3. Klicken Sie auf der Repository-Seite auf Settings > Connect with Git (Einstellungen > Mit Git verbinden).

  4. Geben Sie im Bereich Link zum Remote-Repository im Feld URL des Remote-Git-Repositorys die URL des Remote-Git-Repositorys ein, das auf .git endet.

    Bei der HTTPS-Authentifizierung darf die URL des Remote-Git-Repositorys keine Nutzernamen oder Passwörter enthalten.

    Für die SSH-Authentifizierung hat die URL des Remote-Git-Repositorys in einem der folgenden Formate:

    • Absolute URL: ssh://git@{host_name}[:{port}]/{repository_path}, port ist optional.
    • SCP-ähnliche URL: git@{host_name}:{repository_path}.
  5. Geben Sie im Feld Standardname des Remote-Zweigs den Namen des Hauptentwicklungszweigs des Remote-Git-Repositorys ein.

  6. Wählen Sie im Drop-down-Menü Secret Ihr Secret für das Remote-Git-Repository aus.

  7. Wenn Sie die SSH-Authentifizierung für das Remote-Repository verwendet haben, geben Sie im Feld Wert des öffentlichen SSH-Hostschlüssels einen einzelnen öffentlichen Hostschlüssel Ihres Git-Anbieters ein.

    Der Schlüsselwert des öffentlichen SSH-Hosts muss das Format einer known_hosts-Datei haben. Der Wert muss einen Algorithmus und einen öffentlichen Schlüssel enthalten, die im Format base64 codiert, aber ohne Hostnamen oder IP-Adresse im folgenden Format codiert sind:

      ALGORITHM BASE64_KEY_VALUE
    
  8. Klicken Sie auf Verknüpfen.

Remote-Repository-Verbindung bearbeiten

So bearbeiten Sie eine Verbindung zwischen einem Dataform-Repository und einem Remote-Git-Repository:

  1. Rufen Sie in der Google Cloud Console die Seite Dataform auf.

    Zu Dataform

  2. Klicken Sie auf das Repository, das Sie bearbeiten möchten.

  3. Klicken Sie auf der Repository-Seite auf Settings > Edit Git connection (Einstellungen > Git-Verbindung bearbeiten).

  4. Bearbeiten Sie im Bereich Mit Remote-Repository verknüpfen eine der folgenden Optionen:

    1. Bearbeiten Sie im Feld URL des Remote-Git-Repositorys die URL des verknüpften Remote-Git-Repositorys.

      Die URL des Remote-Git-Repositorys darf keine Nutzernamen oder Passwörter enthalten.

    2. Bearbeiten Sie im Feld Standardname des Remote-Zweigs den Namen des Hauptentwicklungszweigs des Remote-Git-Repositorys.

    3. Wählen Sie im Drop-down-Menü Secret Ihr Secret für das Remote-Git-Repository aus.

    4. Wenn Sie die SSH-Authentifizierung für das Remote-Repository verwendet haben, geben Sie im Feld Wert des öffentlichen SSH-Hostschlüssels den öffentlichen Hostschlüssel Ihres Git-Anbieters ein.

      Der Schlüsselwert des öffentlichen SSH-Hosts muss das Format einer bekannten Hostdatei haben. Der Wert muss einen Algorithmus und einen öffentlichen Schlüssel enthalten, die im Format base64 codiert, aber ohne Hostnamen oder IP-Adresse im folgenden Format codiert sind:

       ALGORITHM BASE64_KEY_VALUE
      
  5. Klicken Sie auf Aktualisieren.

Nächste Schritte