Questo documento mostra come connettere un repository remoto a un Repository Dataform. Dopo aver collegato i repository, le modifiche apportate in una È possibile eseguire il push e il pull dell'area di lavoro di sviluppo Dataform repository Git remoto.
Puoi connettere un repository remoto tramite HTTPS o SSH.
Nella tabella seguente sono elencati i provider Git supportati e le connessioni disponibili per i rispettivi repository:
Provider Git | Metodo di connessione |
---|---|
Azure DevOps Services | SSH |
Bitbucket | SSH |
GitHub | SSH o HTTPS |
GitLab | SSH o HTTPS |
Prima di iniziare
- Se la tua organizzazione o progetto limita i repository Git remoti
con il criterio dell'organizzazione
dataform.restrictGitRemotes
, assicurati che il repository Git remoto viene aggiunto alla lista consentita del criterio crea un repository Dataform che vuoi connettere a un repository remoto. Per ulteriori informazioni, vedi Limita i repository remoti. - Seleziona o crea un repository Dataform. Ti servirà in un secondo momento per condividere un secret con il tuo account di servizio Dataform predefinito.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per connettere un repository Dataform a un repository Git remoto,
chiedi all'amministratore di concederti
Ruolo IAM Amministratore Dataform (roles/dataform.admin
) nei repository.
Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso.
Potresti anche riuscire a ottenere le autorizzazioni richieste tramite la ruoli o altri ruoli predefiniti ruoli.
Connetti un repository remoto tramite SSH
Per connettere un repository remoto tramite SSH, devi: generare una chiave SSH e un secret di Secret Manager. La chiave SSH è costituita chiave SSH pubblica e una chiave SSH privata. Devi condividere la chiave SSH pubblica con il tuo provider Git e creare Secret di Secret Manager con chiave SSH privata. Quindi, condividi il secret con il tuo account di servizio Dataform predefinito.
Dataform utilizza il secret con la chiave SSH privata per accedere al tuo Git di eseguire il commit delle modifiche per conto degli sviluppatori. Dataform rende questi commit utilizzando l'indirizzo email Google Cloud dello sviluppatore, in modo che chi ha eseguito ogni commit.
Per connettere un repository remoto a un tramite SSH, segui questi passaggi:
Nel tuo provider Git, segui questi passaggi:
Azure DevOps Services
- In Azure DevOps Services, crea una chiave SSH privata.
- Carica la chiave SSH pubblica al repository di Azure DevOps Services.
Bitbucket
- In Bitbucket, crea una chiave SSH privata.
- Carica la chiave SSH pubblica nel repository Bitbucket.
GitHub
- In GitHub, crea una chiave SSH privata.
- Carica la chiave SSH pubblica di GitHub nel repository GitHub.
GitLab
- In GitLab, crea una chiave SSH privata.
- Carica la chiave SSH pubblica GitLab nel tuo repository GitLab.
In Secret Manager, crea un secret e imposta la tua chiave SSH privata come valore del secret.
Concedi l'accesso al secret al tuo account di servizio Dataform predefinito.
Il tuo account di servizio Dataform predefinito è nel seguente formato:
service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com
Concedi Ruolo
roles/secretmanager.secretAccessor
all'account di servizio.
Nella console Google Cloud, vai alla pagina Dataform.
Seleziona il repository Dataform che vuoi connettere nel repository remoto.
Nella pagina del repository, fai clic su Impostazioni > Connettiti a Git.
Nel riquadro Collega al repository remoto, nella Nel campo URL repository Git remoto, inserisci l'URL del repository Git remoto che termina con
.git
.L'URL del repository Git remoto deve essere in uno dei i seguenti formati:
- URL assoluto:
ssh://git@{host_name}[:{port}]/{repository_path}
, Il campoport
è facoltativo. - URL simile a SCP:
git@{host_name}:{repository_path}
.
- URL assoluto:
Nel campo Nome ramo remoto predefinito, inserisci il nome del ramo di sviluppo principale del repository Git remoto.
Nel menu a discesa Secret, seleziona il tuo secret per il Git remoto repository Git.
Nel campo Valore chiave host pubblica SSH, inserisci la chiave host pubblica del tuo del tuo provider Git.
Azure DevOps Services
Il valore della chiave host pubblica SSH deve essere nel formato di un file
known_hosts
. Il valore deve contenere un algoritmo e una chiave pubblica codificata nel Formatobase64
, ma senza nome host o IP, nel seguente formato:ALGORITHM BASE64_KEY_VALUE
Per recuperare la chiave host pubblica di Azure DevOps Services, esegui il comando
ssh-keyscan -t rsa ssh.dev.azure.com
nel terminale.Bitbucket
Il valore della chiave host pubblica SSH deve essere nel formato di un file
known_hosts
. Il valore deve contenere un algoritmo e una chiave pubblica codificata nel Formatobase64
, ma senza nome host o IP, nel seguente formato:ALGORITHM BASE64_KEY_VALUE
Per recuperare la chiave host pubblica di Bitbucket, consulta Configura SSH.
GitHub
Il valore della chiave host pubblica SSH deve essere nel formato di un file
known_hosts
. Il valore deve contenere un algoritmo e una chiave pubblica codificata nel Formatobase64
, ma senza nome host o IP, nel seguente formato:ALGORITHM BASE64_KEY_VALUE
Per recuperare la chiave host pubblica di GitHub, consulta Fingerprint della chiave SSH di GitHub.
GitLab
Il valore della chiave host pubblica SSH deve essere nel formato di un file
known_hosts
. Il valore deve contenere un algoritmo e una chiave pubblica codificata nel Formatobase64
, ma senza nome host o IP, nel seguente formato:ALGORITHM BASE64_KEY_VALUE
Per recuperare la chiave host pubblica di GitLab, consulta Voci SSH di
known_hosts
.Fai clic su Link.
Connetti un repository remoto tramite HTTPS
Per connettere un repository remoto tramite HTTPS, devi creare un Secret Manager con un token di accesso personale e condividi con il tuo account di servizio Dataform predefinito.
Dataform utilizza quindi il token di accesso per accedere al tuo provider Git di eseguire il commit delle modifiche per conto degli sviluppatori. Dataform rende questi si impegna a utilizzare l'indirizzo email Google Cloud dello sviluppatore per indicare chi ha eseguito ogni commit.
Per connettere un repository remoto a un repository Dataform tramite HTTPS: segui questi passaggi:
Nel tuo provider Git, segui questi passaggi:
GitHub
In GitHub, crea un token di accesso personale granulare o un token di accesso personale classico.
- Per un token di accesso personale a GitHub granulare, segui questi passaggi:
Seleziona l'accesso al repository solo ai repository selezionati, quindi seleziona il al repository a cui vuoi connetterti.
Concedi l'accesso in lettura e scrittura ai contenuti del repository.
Imposta una scadenza del token appropriata per le tue esigenze.
- Per un token di accesso personale di GitHub classico, segui questi passaggi:
Concedi a Dataform l'autorizzazione
repo
.Imposta una scadenza del token appropriata per le tue esigenze.
Se la tua organizzazione utilizza il servizio Single Sign-On (SSO) basato su SAML, autorizzare il token.
GitLab
In GitLab, crea un token di accesso personale di GitHub.
Assegna al token il nome
dataform
.Il token di accesso personale di GitLab deve essere denominato
dataform
.Concedi a Dataform
api
,read_repository
, ewrite_repository
autorizzazioni.Imposta una scadenza del token appropriata per le tue esigenze.
In Secret Manager, crea un secret contenente il token di accesso personale del repository remoto.
Concedi l'accesso al secret al tuo account di servizio Dataform predefinito.
Il tuo account di servizio Dataform predefinito è nel seguente formato:
service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com
- Concedi
Ruolo
roles/secretmanager.secretAccessor
all'account di servizio.
- Concedi
Ruolo
Nella console Google Cloud, vai alla pagina Dataform.
Seleziona il repository Dataform che vuoi connettere nel repository remoto.
Nella pagina del repository, fai clic su Impostazioni > Connettiti a Git.
Nel riquadro Collega al repository remoto, nella Nel campo URL repository Git remoto, inserisci l'URL del repository Git remoto che termina con
.git
.L'URL del repository Git remoto non può contenere nomi utente o password.
Nel campo Nome ramo remoto predefinito, inserisci il nome del ramo di sviluppo principale del repository Git remoto.
Nel menu a discesa Secret, seleziona il tuo secret per il Git remoto repository Git.
Fai clic su Link.
Modifica la connessione al repository remoto
Per modificare una connessione tra un repository Dataform e un repository Git, segui questi passaggi:
Nella console Google Cloud, vai alla pagina Dataform.
Fai clic sul repository che vuoi modificare.
Nella pagina del repository, fai clic su Impostazioni > Modifica connessione Git.
Nel riquadro Collega al repository remoto, modifica le impostazioni di connessione.
Fai clic su Aggiorna.
Passaggi successivi
Per scoprire di più sui repository Dataform, vedi Introduzione ai repository.
Per creare un'area di lavoro di sviluppo, consulta Crea uno spazio di lavoro.
Per scoprire come risolvere i problemi relativi alle connessioni dei repository remoti, consulta Risolvi i problemi di Dataform.