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:
Erstellen Sie in GitHub oder GitLab ein persönliches Zugriffstoken.
So erstellen Sie ein persönliches GitHub-Zugriffstoken:
Gewähren Sie Dataform die Berechtigung
repo
.Legen Sie die Ablaufzeit für das Token fest, die Ihren Anforderungen entspricht.
Wenn Ihre Organisation die SAML-Einmalanmeldung (SSO) verwendet, autorisieren Sie das Token.
Optional: Wenn Sie ein detailliertes persönliches Zugriffstoken in GitHub erstellen, gehen Sie so vor:
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.
Lese- und Schreibzugriff auf Inhalte des Repositorys gewähren.
Legen Sie die Ablaufzeit für das Token fest, die Ihren Anforderungen entspricht.
Wenn Ihre Organisation die SAML-Einmalanmeldung (SSO) verwendet, autorisieren Sie das Token.
So erstellen Sie ein persönliches GitLab-Zugriffstoken:
Nennen Sie das Token
dataform
.Das persönliche GitLab-Zugriffstoken muss den Namen
dataform
haben.Gewähren Sie Dataform die Berechtigungen
api
,read_repository
undwrite_repository
.Legen Sie die Ablaufzeit für das Token fest, die Ihren Anforderungen entspricht.
Erstellen Sie in Secret Manager ein Secret mit einem persönlichen Zugriffstoken zum Herstellen einer Verbindung zu Ihrem Git-Anbieter.
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
- Wenn Sie Zugriff gewähren, müssen Sie Ihrem Dataform-Dienstkonto die Rolle
roles/secretmanager.secretAccessor
zuweisen.
- Wenn Sie Zugriff gewähren, müssen Sie Ihrem Dataform-Dienstkonto die Rolle
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:
Erstellen Sie in Azure DevOps Services, Bitbucket, GitHub oder GitLab einen SSH-Schlüssel.
Eine Anleitung zum Erstellen eines SSH-Schlüssels für Azure DevOps Services finden Sie unter SSH-Schlüsselauthentifizierung verwenden.
Eine Anleitung zum Erstellen eines Bitbucket-SSH-Schlüssels finden Sie unter SSH-Schlüssel konfigurieren.
Eine Anleitung zum Erstellen eines GitHub-SSH-Schlüssels finden Sie unter Neuen SSH-Schlüssel generieren.
Eine Anleitung zum Erstellen eines GitLab-SSH-Schlüssels finden Sie unter SSH-Schlüsselpaar generieren.
Laden Sie den öffentlichen SSH-Schlüssel in das Git-Konto des Drittanbieters hoch.
Eine Anleitung zum Hochladen eines öffentlichen SSH-Schlüssels in Azure DevOps-Dienste finden Sie unter SSH-Schlüsselauthentifizierung verwenden.
Eine Anleitung zum Hochladen eines öffentlichen SSH-Schlüssels in Bitbucket finden Sie unter SSH konfigurieren.
Eine Anleitung zum Hochladen eines öffentlichen SSH-Schlüssels in GitHub finden Sie unter Neuen SSH-Schlüssel zu einem GitHub-Konto hinzufügen.
Eine Anleitung zum Hochladen eines öffentlichen SSH-Schlüssels in GitLab finden Sie unter SSH-Schlüssel zu Ihrem GitLab-Konto hinzufügen.
Erstellen Sie ein Secret in Secret Manager mit dem privaten SSH-Schlüssel als Secret-Wert.
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
- Wenn Sie Zugriff gewähren, müssen Sie Ihrem Dataform-Dienstkonto die Rolle
roles/secretmanager.secretAccessor
zuweisen.
- Wenn Sie Zugriff gewähren, müssen Sie Ihrem Dataform-Dienstkonto die Rolle
Dataform-Repository verbinden
So verknüpfen Sie ein Dataform-Repository mit einem Remote-Git-Repository:
Rufen Sie in der Google Cloud Console die Seite Dataform auf.
Wählen Sie das Repository aus, zu dem Sie eine Verbindung herstellen möchten.
Klicken Sie auf der Repository-Seite auf Settings > Connect with Git (Einstellungen > Mit Git verbinden).
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}
.
- Absolute URL:
Geben Sie im Feld Standardname des Remote-Zweigs den Namen des Hauptentwicklungszweigs des Remote-Git-Repositorys ein.
Wählen Sie im Drop-down-Menü Secret Ihr Secret für das Remote-Git-Repository aus.
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 Formatbase64
codiert, aber ohne Hostnamen oder IP-Adresse im folgenden Format codiert sind:ALGORITHM BASE64_KEY_VALUE
Informationen zum öffentlichen Hostschlüssel der Azure DevOps Services finden Sie unter SSH-Schlüsselauthentifizierung verwenden.
Informationen zum öffentlichen Hostschlüssel von Bitbucket finden Sie unter SSH konfigurieren.
Informationen zum öffentlichen GitHub-Hostschlüssel finden Sie unter Fingerabdrücke des SSH-Schlüssels von GitHub.
Informationen zum öffentlichen GitLab-Hostschlüssel finden Sie unter SSH-
known_hosts
-Einträge.
Klicken Sie auf Verknüpfen.
Remote-Repository-Verbindung bearbeiten
So bearbeiten Sie eine Verbindung zwischen einem Dataform-Repository und einem Remote-Git-Repository:
Rufen Sie in der Google Cloud Console die Seite Dataform auf.
Klicken Sie auf das Repository, das Sie bearbeiten möchten.
Klicken Sie auf der Repository-Seite auf Settings > Edit Git connection (Einstellungen > Git-Verbindung bearbeiten).
Bearbeiten Sie im Bereich Mit Remote-Repository verknüpfen eine der folgenden Optionen:
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.
Bearbeiten Sie im Feld Standardname des Remote-Zweigs den Namen des Hauptentwicklungszweigs des Remote-Git-Repositorys.
Wählen Sie im Drop-down-Menü Secret Ihr Secret für das Remote-Git-Repository aus.
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
Informationen zum öffentlichen Hostschlüssel von Bitbucket finden Sie unter SSH konfigurieren.
Informationen zum öffentlichen GitHub-Hostschlüssel finden Sie unter Fingerabdrücke des SSH-Schlüssels von GitHub.
Informationen zum öffentlichen GitLab-Hostschlüssel finden Sie unter SSH-
known_hosts
-Einträge.
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.
Weitere Informationen zu Dataform finden Sie unter Dataform – Übersicht.