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
- 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 - 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:
Führen Sie in Ihrem Git-Anbieter die folgenden Schritte aus:
Azure DevOps-Dienste
- Erstellen Sie einen privaten SSH-Schlüssel in Azure DevOps Services.
- Öffentlichen SSH-Schlüssel hochladen in Ihr Azure DevOps Services-Repository.
Bitbucket
- Erstellen Sie einen privaten SSH-Schlüssel in Bitbucket.
- Öffentlichen SSH-Schlüssel hochladen in Ihr Bitbucket-Repository ein.
GitHub
- Erstellen Sie einen privaten SSH-Schlüssel in GitHub.
- Öffentlichen GitHub-SSH-Schlüssel hochladen in Ihr GitHub-Repository.
GitLab
- Erstellen Sie einen privaten SSH-Schlüssel in GitLab.
- Öffentlichen GitLab-SSH-Schlüssel hochladen in Ihr GitLab-Repository.
Erstellen Sie ein Secret in Secret Manager. und legen Sie Ihren privaten SSH-Schlüssel als Secret-Wert fest.
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
Gewähren Sie die Rolle „
roles/secretmanager.secretAccessor
“ mit dem Dienstkonto.
Öffnen Sie in der Google Cloud Console die Seite Dataform.
Wählen Sie das Dataform-Repository aus, das Sie verbinden möchten an das Remote-Repository gesendet.
Klicken Sie auf der Repository-Seite auf Einstellungen > Mit Git verbinden
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}
.
- Absolute URL:
Geben Sie im Feld Default remote branch name den Namen ein. des Hauptentwicklungszweigs des Remote-Git-Repositorys.
Wählen Sie im Drop-down-Menü Secret Ihr Secret für das Remote-Git aus. zu erstellen.
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 imbase64
-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 imbase64
-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 imbase64
-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 imbase64
-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ägeKlicken 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:
Führen Sie in Ihrem Git-Anbieter die folgenden Schritte aus:
GitHub
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:
Wählen Sie den Repository-Zugriff nur auf ausgewählte Repositories und dann den Repository, mit dem Sie eine Verbindung herstellen möchten.
Gewähren Sie Lese- und Schreibzugriff auf Inhalte des Repositorys.
Legen Sie eine Tokenablaufzeit fest, die Ihren Anforderungen entspricht.
- Gehen Sie für ein klassisches persönliches GitHub-Zugriffstoken so vor:
Gewähren Sie Dataform die Berechtigung
repo
.Legen Sie eine Tokenablaufzeit fest, die Ihren Anforderungen entspricht.
Wenn Ihre Organisation die SAML-Einmalanmeldung (SSO) verwendet, Autorisieren Sie das Token.
GitLab
Erstellen Sie in GitLab ein persönliches GitLab-Zugriffstoken.
Geben Sie dem Token den Namen
dataform
.Das persönliche GitLab-Zugriffstoken muss den Namen
dataform
haben.Dataform Folgendes gewähren:
api
,read_repository
, undwrite_repository
-Berechtigungen.Legen Sie eine Tokenablaufzeit fest, die Ihren Anforderungen entspricht.
In Secret Manager Secret erstellen mit dem persönlichen Zugriffstoken Ihres Remote-Repositorys.
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
- Gewähren Sie die
Rolle „
roles/secretmanager.secretAccessor
“ mit dem Dienstkonto.
- Gewähren Sie die
Rolle „
Öffnen Sie in der Google Cloud Console die Seite Dataform.
Wählen Sie das Dataform-Repository aus, das Sie verbinden möchten an das Remote-Repository gesendet.
Klicken Sie auf der Repository-Seite auf Einstellungen > Mit Git verbinden
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.
Geben Sie im Feld Default remote branch name den Namen ein. des Hauptentwicklungszweigs des Remote-Git-Repositorys.
Wählen Sie im Drop-down-Menü Secret Ihr Secret für das Remote-Git aus. zu erstellen.
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:
Öffnen Sie in der Google Cloud Console die Seite Dataform.
Klicken Sie auf das Repository, das Sie bearbeiten möchten.
Klicken Sie auf der Repository-Seite auf Einstellungen > Git-Verbindung bearbeiten
Bearbeiten Sie im Bereich Link zum Remote-Repository die Verbindungseinstellungen.
Klicken Sie auf Aktualisieren.
Nächste Schritte
Weitere Informationen zu Dataform-Repositories finden Sie unter Einführung in Repositories
Informationen zum Erstellen eines Entwicklungsarbeitsbereichs finden Sie unter Arbeitsbereich erstellen
Informationen zum Beheben von Problemen mit Remote-Repository-Verbindungen finden Sie unter Fehlerbehebung in Dataform