Connettersi 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, puoi eseguire il push e il pull delle modifiche apportate in un'area di lavoro di sviluppo Dataform nel repository Git remoto.

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

  • Servizi DevOps di Azure

  • 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 GitHub e GitLab, puoi utilizzare HTTPS o SSH per l'autenticazione. Per i servizi DevOps di Azure e i repository remoti di Bitbucket, devi utilizzare 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) per i repository. Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso.

Potresti anche essere in grado di 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 condividendo il secret con il tuo account di servizio Dataform.

Dataform utilizza quindi il token di accesso per accedere al provider Git e impegnare le modifiche per conto degli sviluppatori. Dataform effettua questi commit utilizzando l'indirizzo email Google Cloud dello sviluppatore, in modo da poter capire chi ha effettuato ciascun 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 del 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 a GitHub, segui questi passaggi:

    1. Concedi a Dataform l'autorizzazione repo.

    2. Assicurati di impostare una scadenza per il token appropriata alle 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, segui questi passaggi:

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

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

    3. Assicurati di impostare una scadenza per il token appropriata alle 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 a GitLab, 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 per il token appropriata alle 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 al tuo account di servizio Dataform.

    Il tuo account di servizio Dataform ha il seguente formato:

    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 e confermare le modifiche per conto degli sviluppatori. Dataform effettua questi commit utilizzando l'indirizzo email Google Cloud dello sviluppatore, in modo da poter capire chi ha effettuato ciascun commit.

Autentica un repository remoto tramite 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. Poi, 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 per eseguire il commit delle modifiche per conto degli sviluppatori. Dataform effettua questi commit utilizzando l'indirizzo email Google Cloud dello sviluppatore, in modo da poter capire chi ha effettuato ogni 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 al tuo account di servizio Dataform.

    Il tuo account di servizio Dataform ha il seguente formato:

    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, segui questi passaggi:

  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 > Connetti con Git.

  4. Nel riquadro Collega al repository remoto, nel campo URL repository Git remoto, inserisci l'URL del repository Git remoto, che termina 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, nel campo Valore chiave host pubblica SSH inserisci 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 il nome host o l'IP, nel seguente formato:

      ALGORITHM BASE64_KEY_VALUE
    
  8. Fai clic su Collega.

Modifica la connessione al repository remoto

Per modificare una connessione tra un repository Dataform e un repository Git remoto, segui questi passaggi:

  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. Nell'elenco a discesa Secret, seleziona il secret per il repository Git remoto.

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

      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 il nome host o l'IP, nel seguente formato:

       ALGORITHM BASE64_KEY_VALUE
      
  5. Fai clic su Aggiorna.

Passaggi successivi