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:
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 eine Tokenablaufzeit fest, die Ihren Anforderungen entspricht.
Wenn Ihre Organisation die SAML-Einmalanmeldung (SSO) verwendet, autorisieren Sie das Token.
Optional: Gehen Sie beim Erstellen eines detaillierten persönlichen Zugriffstokens von GitHub so vor:
Wählen Sie den Repository-Zugriff nur auf ausgewählte Repositories und dann das Repository aus, zu 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.
Wenn Ihre Organisation die SAML-Einmalanmeldung (SSO) verwendet, autorisieren Sie das Token.
Gehen Sie beim Erstellen eines persönlichen GitLab-Zugriffstokens so vor:
Geben Sie dem Token den Namen
dataform
.Das persönliche GitLab-Zugriffstoken muss den Namen
dataform
haben.Gewähren Sie Dataform die Berechtigungen
api
,read_repository
undwrite_repository
.Legen Sie eine Tokenablaufzeit fest, die Ihren Anforderungen entspricht.
Erstellen Sie ein Secret in Secret Manager, das ein persönliches Zugriffstoken enthält, um eine Verbindung zu Ihrem Git-Anbieter herzustellen.
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 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:
Erstellen Sie in Azure DevOps Services, Bitbucket, GitHub oder GitLab einen SSH-Schlüssel.
Eine Anleitung zum Erstellen eines Azure DevOps Services-SSH-Schlüssels finden Sie unter SSH-Schlüsselauthentifizierung verwenden.
Eine Anleitung zum Erstellen eines Bitbucket-SSH-Schlüssels finden Sie unter SSH 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 Ihr Git-Konto bei einem Drittanbieter hoch.
Eine Anleitung zum Hochladen eines öffentlichen SSH-Schlüssels in Azure DevOps Services 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 auf 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 Ihrem GitLab-Konto einen SSH-Schlüssel 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:
Öffnen Sie in der Google Cloud Console die Seite Dataform.
Wählen Sie das Repository aus, das Sie verbinden 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, 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}
.
- Absolute URL:
Geben Sie im Feld Default remote branch name den Namen des Hauptentwicklungszweigs des Remote-Git-Repositorys ein.
Wählen Sie im Drop-down-Menü Secret das 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 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 Formatbase64
codiert ist, aber ohne den Hostnamen oder die IP-Adresse im folgenden Format:ALGORITHM BASE64_KEY_VALUE
Führen Sie für den öffentlichen Hostschlüssel von Azure DevOps Services den Befehl
ssh-keyscan -t rsa ssh.dev.azure.com
im Terminal aus.Informationen zum öffentlichen Bitbucket-Hostschlüssel finden Sie unter SSH konfigurieren.
Den ö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 Link.
Remote-Repository-Verbindung bearbeiten
So bearbeiten Sie eine Verbindung zwischen einem Dataform-Repository und einem Remote-Git-Repository:
Ö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 zu Remote-Repository 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 Standard-Remote-Branch-Name den Namen des Hauptentwicklungszweigs des Remote-Git-Repositorys.
Wählen Sie in der Drop-down-Liste 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 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
Informationen zum öffentlichen Bitbucket-Hostschlüssel finden Sie unter SSH konfigurieren.
Den ö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.