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.

Bei GitHub- und GitLab-Remote-Repositories können Sie entweder HTTPS oder SSH für die Authentifizierung verwenden. Für Azure DevOps Services und Bitbucket-Remote-Repositories 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 Admin (roles/dataform.admin) für Repositories zu gewähren, um die erforderlichen Berechtigungen zum Verknüpfen eines Dataform-Repositorys mit einem Remote-Git-Repository zu erhalten. 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 vorzunehmen. Dataform verwendet für diese Commits die Google Cloud-E-Mail-Adresse des Entwicklers, damit Sie sehen können, 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 die Tokenberechtigungen anpassen können.

Erstellen Sie zum Authentifizieren eines GitLab-Repositorys ein klassisches persönliches Zugriffstoken.

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 eine Tokenablaufzeit fest, die Ihren Anforderungen entspricht.

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

  3. Optional: Gehen Sie beim Erstellen eines detaillierten persönlichen Zugriffstokens von GitHub so vor:

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

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

    3. Legen Sie eine Tokenablaufzeit fest, die Ihren Anforderungen entspricht.

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

  4. Gehen Sie beim Erstellen eines persönlichen GitLab-Zugriffstokens so vor:

    1. Geben Sie dem Token den Namen 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 eine Tokenablaufzeit fest, die Ihren Anforderungen entspricht.

  5. Erstellen Sie ein Secret in Secret Manager, das ein persönliches Zugriffstoken enthält, um eine Verbindung zu Ihrem Git-Anbieter herzustellen.

  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 vorzunehmen. Dataform verwendet für diese Commits die Google Cloud-E-Mail-Adresse des Entwicklers, damit Sie sehen können, 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. Generieren Sie dazu 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 für Ihren Git-Anbieter freigeben 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 durchzuführen. Dataform verwendet für diese Commits die Google Cloud-E-Mail-Adresse des Entwicklers, damit Sie sehen können, 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 Ihr Git-Konto bei einem Drittanbieter 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. Öffnen Sie in der Google Cloud Console die Seite Dataform.

    Zu Dataform

  2. Wählen Sie das Repository aus, das Sie verbinden 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, die mit .git endet.

    Für die 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 eines 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 Default remote branch name den Namen des Hauptentwicklungszweigs des Remote-Git-Repositorys ein.

  6. Wählen Sie im Drop-down-Menü Secret das 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 Wert des öffentlichen SSH-Hostschlüssels muss das Format einer known_hosts-Datei haben. Der Wert muss einen Algorithmus und einen öffentlichen Schlüssel enthalten, der im Format base64 codiert ist, aber ohne den Hostnamen oder die IP-Adresse im folgenden Format:

      ALGORITHM BASE64_KEY_VALUE
    
  8. Klicken Sie auf Link.

Remote-Repository-Verbindung bearbeiten

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

  1. Öffnen Sie in der Google Cloud Console die Seite Dataform.

    Zu Dataform

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

  3. Klicken Sie auf der Repository-Seite auf Einstellungen > Git-Verbindung bearbeiten.

  4. Bearbeiten Sie im Bereich Link zu Remote-Repository 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 Standard-Remote-Branch-Name den Namen des Hauptentwicklungszweigs des Remote-Git-Repositorys.

    3. Wählen Sie in der Drop-down-Liste 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 Wert des öffentlichen SSH-Hostschlüssels muss das Format einer bekannten Hostdatei haben. Der Wert muss einen Algorithmus und einen öffentlichen Schlüssel enthalten, der im Format base64 codiert ist, aber ohne den Hostnamen oder die IP-Adresse im folgenden Format:

       ALGORITHM BASE64_KEY_VALUE
      
  5. Klicken Sie auf Aktualisieren.

Nächste Schritte