Mit einem Git-Repository eines Drittanbieters verbinden

In diesem Dokument erfahren Sie, wie Sie ein Remote-Repository mit einem Dataform-Repository. Nachdem Sie die Repositories verbunden haben, Der Arbeitsbereich für die Dataform-Entwicklung kann in den Remote-Git-Repository.

Sie können über HTTPS oder SSH eine Verbindung zu einem Remote-Repository herstellen.

In der folgenden Tabelle sind die unterstützten Git-Anbieter und die Verbindung aufgeführt Methoden, die für ihre Repositories verfügbar sind:

Git-Provider Verbindungsmethode
Azure DevOps-Dienste SSH
Bitbucket SSH
GitHub SSH oder HTTPS
GitLab SSH oder HTTPS

Hinweise

  1. Wenn in Ihrer Organisation oder Ihrem Projekt Remote-Git-Repositories eingeschränkt sind mit der Organisationsrichtlinie dataform.restrictGitRemotes müssen Sie sicherstellen, dass die Das Remote-Git-Repository wird der Zulassungsliste in der Richtlinie hinzugefügt, bevor Sie Dataform-Repository erstellen mit dem Sie eine Verbindung mit einem Remote-Repository herstellen möchten. Weitere Informationen finden Sie unter Remote-Repositories einschränken
  2. Auswählen oder Erstellen Sie ein Dataform-Repository. Sie benötigen es später, um ein Secret mit Ihrem Dataform-Standarddienstkonto

Erforderliche Rollen

Um die erforderlichen Berechtigungen zum Verbinden eines Dataform-Repositorys mit einem Remote-Git-Repository zu erhalten, bitten Sie Ihren Administrator, Ihnen IAM-Rolle Dataform Admin (roles/dataform.admin) für Repositories. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff verwalten.

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

Remote-Repository über SSH verbinden

Wenn Sie ein Remote-Repository über SSH verbinden möchten, müssen Sie einen SSH-Schlüssel und ein Secret Manager-Secret generieren. Der SSH-Schlüssel besteht aus eines öffentlichen SSH-Schlüssels und eines privaten SSH-Schlüssels. Sie müssen den öffentlichen SSH-Schlüssel an Ihren Git-Anbieter weitergeben und einen Secret Manager-Secret mit dem privaten SSH-Schlüssel. Dann geben Sie das Secret weiter. mit Ihrem Dataform-Standarddienstkonto.

Dataform verwendet das Secret mit dem privaten SSH-Schlüssel, um sich in Ihrem Git anzumelden Anbieter, Änderungen im Namen der Entwickler vorzunehmen. Dataform macht mit der Google Cloud-E-Mail-Adresse des Entwicklers wer die einzelnen Commits vorgenommen hat.

Um ein Remote-Repository mit einem Dataform-Repository über SSH verwenden möchten, führen Sie die folgenden Schritte aus:

  1. Führen Sie in Ihrem Git-Anbieter die folgenden Schritte aus:

    Azure DevOps-Dienste

    1. Erstellen Sie einen privaten SSH-Schlüssel in Azure DevOps Services.
    2. Öffentlichen SSH-Schlüssel hochladen in Ihr Azure DevOps Services-Repository.

    Bitbucket

    1. Erstellen Sie einen privaten SSH-Schlüssel in Bitbucket.
    2. Öffentlichen SSH-Schlüssel hochladen in Ihr Bitbucket-Repository ein.

    GitHub

    1. Erstellen Sie einen privaten SSH-Schlüssel in GitHub.
    2. Öffentlichen GitHub-SSH-Schlüssel hochladen in Ihr GitHub-Repository.

    GitLab

    1. Erstellen Sie einen privaten SSH-Schlüssel in GitLab.
    2. Öffentlichen GitLab-SSH-Schlüssel hochladen in Ihr GitLab-Repository.
  2. Erstellen Sie ein Secret in Secret Manager. und legen Sie Ihren privaten SSH-Schlüssel als Secret-Wert fest.

    1. Gewähren Sie Ihrem Dataform-Standarddienstkonto Zugriff auf das Secret.

      Ihr Dataform-Standarddienstkonto hat das folgende Format:

      service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com
      
    2. Gewähren Sie die Rolle „roles/secretmanager.secretAccessor mit dem Dienstkonto.

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

    Zu Dataform

  4. Wählen Sie das Dataform-Repository aus, das Sie verbinden möchten an das Remote-Repository gesendet.

  5. Klicken Sie auf der Repository-Seite auf Einstellungen > Mit Git verbinden

  6. Wählen Sie im Bereich Link to remote Repository (Link zum Remote-Repository) im Menü Remote-Git-Repository-URL die URL des Remote-Git-Repositorys ein. Repository mit der Endung .git.

    Die URL des Remote-Git-Repositorys muss sich in einer der folgenden folgenden Formaten:

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

  8. Wählen Sie im Drop-down-Menü Secret Ihr Secret für das Remote-Git aus. zu erstellen.

  9. Gib im Feld Wert des öffentlichen SSH-Hostschlüssels den öffentlichen Hostschlüssel deines Git-Anbieter.

    Azure DevOps-Dienste

    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 base64-Format, aber ohne Hostname oder IP-Adresse, im folgenden Format:

    ALGORITHM BASE64_KEY_VALUE
    

    So rufen Sie den öffentlichen Hostschlüssel von Azure DevOps Services ab: führen Sie den Befehl ssh-keyscan -t rsa ssh.dev.azure.com im Terminal aus.

    Bitbucket

    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 base64-Format, aber ohne Hostname oder IP-Adresse, im folgenden Format:

    ALGORITHM BASE64_KEY_VALUE
    

    Informationen zum Abrufen des öffentlichen Bitbucket-Hostschlüssels finden Sie unter Konfigurieren Sie SSH.

    GitHub

    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 base64-Format, aber ohne Hostname oder IP-Adresse, im folgenden Format:

    ALGORITHM BASE64_KEY_VALUE
    

    Informationen zum Abrufen des öffentlichen GitHub-Hostschlüssels finden Sie unter Fingerabdrücke der SSH-Schlüssel von GitHub

    GitLab

    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 base64-Format, aber ohne Hostname oder IP-Adresse, im folgenden Format:

    ALGORITHM BASE64_KEY_VALUE
    

    Informationen zum Abrufen des öffentlichen GitLab-Hostschlüssels finden Sie unter SSH-known_hosts-Einträge

  10. Klicken Sie auf Link.

Remote-Repository über HTTPS verbinden

Um ein Remote-Repository über HTTPS zu verbinden, müssen Sie ein Secret Manager-Secret mit einem persönlichen Zugriffstoken mit Ihrem Dataform-Standarddienstkonto.

Dataform verwendet das Zugriffstoken dann, um sich bei Ihrem Git-Anbieter anzumelden, Änderungen im Namen der Entwickler durchführen Dataform macht diese mit der Google Cloud-E-Mail-Adresse des Entwicklers wer die einzelnen Commits vorgenommen hat.

Um ein Remote-Repository über HTTPS mit einem Dataform-Repository zu verbinden, führen Sie folgende Schritte aus:

  1. Führen Sie in Ihrem Git-Anbieter die folgenden Schritte aus:

    GitHub

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

      • Führen Sie folgende Schritte aus, um ein detailliertes persönliches GitHub-Zugriffstoken zu erhalten:
      1. Wählen Sie den Repository-Zugriff nur auf ausgewählte Repositories und dann den Repository, mit 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.

      • Gehen Sie für ein klassisches persönliches GitHub-Zugriffstoken so vor:
      1. Gewähren Sie Dataform die Berechtigung repo.

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

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

    GitLab

    1. Erstellen Sie in GitLab ein persönliches GitLab-Zugriffstoken.

    2. Geben Sie dem Token den Namen dataform.

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

    3. Dataform Folgendes gewähren: api, read_repository, und write_repository-Berechtigungen.

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

  2. In Secret Manager Secret erstellen mit dem persönlichen Zugriffstoken Ihres Remote-Repositorys.

  3. Gewähren Sie Ihrem Dataform-Standarddienstkonto Zugriff auf das Secret.

    Ihr Dataform-Standarddienstkonto hat das folgende Format:

    service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com
    
    1. Gewähren Sie die Rolle „roles/secretmanager.secretAccessor mit dem Dienstkonto.
  4. Öffnen Sie in der Google Cloud Console die Seite Dataform.

    Zu Dataform

  5. Wählen Sie das Dataform-Repository aus, das Sie verbinden möchten an das Remote-Repository gesendet.

  6. Klicken Sie auf der Repository-Seite auf Einstellungen > Mit Git verbinden

  7. Wählen Sie im Bereich Link to remote Repository (Link zum Remote-Repository) im Menü Remote-Git-Repository-URL die URL des Remote-Git-Repositorys ein. Repository mit der Endung .git.

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

  8. Geben Sie im Feld Default remote branch name den Namen ein. des Hauptentwicklungszweigs des Remote-Git-Repositorys.

  9. Wählen Sie im Drop-down-Menü Secret Ihr Secret für das Remote-Git aus. zu erstellen.

  10. Klicken Sie auf Link.

Remote-Repository-Verbindung bearbeiten

Verbindung zwischen einem Dataform-Repository und einem Remote-Repository bearbeiten Git-Repository zu erstellen, führen Sie die folgenden Schritte aus:

  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 zum Remote-Repository die Verbindungseinstellungen.

  5. Klicken Sie auf Aktualisieren.

Nächste Schritte