Connettiti a un repository Git di terze parti

Questo documento mostra come collegare un repository Dataform a un repository Git remoto di terze parti.

Dopo aver collegato i repository, è possibile eseguire il push e il pull delle modifiche apportate in un'area di lavoro di sviluppo Dataform dal repository Git remoto.

Puoi collegare un repository Dataform a un repository Git remoto ospitato dai seguenti provider Git:

  • Azure DevOps Services

  • Bitbucket

  • GitHub

  • GitLab

Per collegare un repository remoto di terze parti a un repository Dataform, devi prima autenticarlo. Puoi autenticare un repository remoto in Dataform tramite HTTPS o SSH.

Per i repository remoti di GitHub e GitLab, puoi utilizzare HTTPS o SSH per l'autenticazione. Per Azure DevOps Services e i repository remoti di Bitbucket devi usare SSH.

Prima di iniziare

Se non l'hai ancora fatto, crea un repository Dataform. Ti servirà in un secondo momento per condividere un secret con il tuo account di servizio Dataform.

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per collegare un repository Dataform a un repository Git remoto, chiedi all'amministratore di concederti il 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 i ruoli personalizzati o altri ruoli predefiniti.

Autentica un repository remoto tramite HTTPS

Puoi autenticare i repository GitHub e GitLab tramite HTTPS creando un secret di Secret Manager con un token di accesso personale e condividendolo con il tuo account di servizio Dataform.

Dataform utilizza quindi il token di accesso per accedere al tuo provider Git ed eseguire il commit delle modifiche per conto degli sviluppatori. Dataform esegue questi commit utilizzando l'indirizzo email Google Cloud dello sviluppatore, in modo che tu possa sapere chi ha eseguito ogni commit.

Per autenticare un repository GitHub, crea un token di accesso personale classico o un token di accesso personale granulare che ti consenta di personalizzare le autorizzazioni dei token.

Per autenticare un repository GitLab, crea un token di accesso personale classico.

Per autenticare un repository GitHub o GitLab in Dataform tramite HTTPS, segui questi passaggi:

  1. In GitHub o GitLab, crea un token di accesso personale.

  2. Quando crei un token di accesso personale di GitHub, segui questi passaggi:

    1. Concedi a Dataform l'autorizzazione repo.

    2. Assicurati di impostare una scadenza del token appropriata per le tue esigenze.

    3. Se la tua organizzazione utilizza il servizio Single Sign-On (SSO) basato su SAML, autorizza il token.

  3. (Facoltativo) Quando crei un token di accesso personale granulare GitHub:

    1. Seleziona l'accesso al repository solo per i repository selezionati, quindi seleziona il repository a cui vuoi connetterti.

    2. Concedi l'accesso in lettura e scrittura ai contenuti del repository.

    3. Assicurati di impostare una scadenza del token appropriata per le tue esigenze.

    4. Se la tua organizzazione utilizza il servizio Single Sign-On (SSO) basato su SAML, autorizza il token.

  4. Quando crei un token di accesso personale di GitHub, segui questi passaggi:

    1. Assegna al token il nome dataform.

      Il token di accesso personale di GitLab deve essere denominato dataform.

    2. Concedi a Dataform le autorizzazioni api, read_repository e write_repository.

    3. Assicurati di impostare una scadenza del token appropriata per le tue esigenze.

  5. In Secret Manager, crea un secret contenente un token di accesso personale per la connessione al tuo provider Git.

  6. Concedi l'accesso al secret per il tuo account di servizio Dataform.

    Il tuo account di servizio Dataform è nel formato seguente:

    service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com
    
    1. Quando concedi l'accesso, assicurati di concedere il ruolo roles/secretmanager.secretAccessor al tuo account di servizio Dataform.

Dataform utilizza il token di accesso per accedere al tuo provider Git ed eseguire il commit delle modifiche per conto degli sviluppatori. Dataform esegue questi commit utilizzando l'indirizzo email Google Cloud dello sviluppatore, in modo che tu possa sapere chi ha eseguito ogni commit.

Autentica un repository remoto mediante SSH

Puoi autenticare i repository Azure DevOps Services, Bitbucket, GitHub e GitLab tramite SSH generando una chiave SSH e un secret di Secret Manager.

La chiave SSH è composta da una chiave SSH pubblica e una chiave SSH privata. Devi condividere la chiave SSH pubblica con il tuo provider Git e creare un secret di Secret Manager con la chiave SSH privata. Quindi, condividi il secret con il tuo account di servizio Dataform.

Dataform utilizza il secret con la chiave SSH privata per accedere al tuo provider Git ed eseguire il commit delle modifiche per conto degli sviluppatori. Dataform esegue questi commit utilizzando l'indirizzo email Google Cloud dello sviluppatore, in modo da poter capire chi ha eseguito ciascun commit.

Per autenticare un repository Azure DevOps Services, Bitbucket, GitHub o GitLab in Dataform tramite SSH, segui questi passaggi:

  1. In Azure DevOps Services, Bitbucket, GitHub o GitLab, crea una chiave SSH.

  2. Carica la chiave SSH pubblica nel tuo account Git di terze parti.

  3. In Secret Manager, crea un secret con la chiave SSH privata come valore del secret.

  4. Concedi l'accesso al secret per il tuo account di servizio Dataform.

    Il tuo account di servizio Dataform è nel formato seguente:

    service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com
    
    1. Quando concedi l'accesso, assicurati di concedere il ruolo roles/secretmanager.secretAccessor al tuo account di servizio Dataform.

Connetti un repository Dataform

Per collegare un repository Dataform a un repository Git remoto:

  1. Nella console Google Cloud, vai alla pagina Dataform.

    Vai a Dataform

  2. Seleziona il repository che vuoi connettere.

  3. Nella pagina del repository, fai clic su Impostazioni > Connettiti con Git.

  4. Nel riquadro Link al repository Git remoto, nel campo URL repository Git remoto, inserisci l'URL del repository Git remoto, terminando con .git.

    Per l'autenticazione HTTPS, l'URL del repository Git remoto non può contenere nomi utente o password.

    Per l'autenticazione SSH, l'URL del repository Git remoto deve essere in uno dei seguenti formati:

    • URL assoluto: ssh://git@{host_name}[:{port}]/{repository_path}, port è facoltativo.
    • URL simile a SCP: git@{host_name}:{repository_path}.
  5. Nel campo Nome ramo remoto predefinito, inserisci il nome del ramo di sviluppo principale del repository Git remoto.

  6. Nel menu a discesa Secret, seleziona il secret per il repository Git remoto.

  7. Se hai utilizzato l'autenticazione SSH per il repository remoto, inserisci nel campo Valore chiave host pubblica SSH una singola chiave host pubblica del tuo provider Git.

    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 formato base64, ma senza nome host o IP, nel seguente formato:

      ALGORITHM BASE64_KEY_VALUE
    
    • Per la chiave dell'host pubblico di Azure DevOps Services, esegui il comando ssh-keyscan -t rsa ssh.dev.azure.com nel terminale.

    • Per la chiave host pubblica di Bitbucket, consulta l'articolo Configurare SSH.

    • Per la chiave dell'host pubblico di GitHub, consulta la pagina relativa alle fingerprint della chiave SSH di GitHub.

    • Per la chiave host pubblica di GitLab, consulta le voci SSH known_hosts.

  8. Fai clic su Link.

Modifica la connessione al repository remoto

Per modificare una connessione tra un repository Dataform e un repository Git remoto:

  1. Nella console Google Cloud, vai alla pagina Dataform.

    Vai a Dataform

  2. Fai clic sul repository che vuoi modificare.

  3. Nella pagina del repository, fai clic su Impostazioni > Modifica connessione Git.

  4. Nel riquadro Collega al repository remoto, modifica una delle seguenti opzioni:

    1. Nel campo URL repository Git remoto, modifica l'URL del repository Git remoto collegato.

      L'URL del repository Git remoto non può contenere nomi utente o password.

    2. Nel campo Nome ramo remoto predefinito, modifica il nome del ramo di sviluppo principale del repository Git remoto.

    3. Nel menu a discesa Secret, seleziona il secret per il repository Git remoto.

    4. Se hai utilizzato l'autenticazione SSH per il repository remoto, inserisci la chiave host pubblica del tuo provider Git nel campo Valore chiave host pubblica SSH.

      Il valore della chiave host pubblica SSH deve essere nel formato di un file host noto. Il valore deve contenere un algoritmo e una chiave pubblica codificata nel formato base64, ma senza nome host o IP, nel seguente formato:

       ALGORITHM BASE64_KEY_VALUE
      
  5. Fai clic su Update (Aggiorna).

Passaggi successivi