Conectar-se a um repositório Git de terceiros

Este documento mostra como conectar um repositório remoto a um Repositório do Dataform. Depois de conectar os repositórios, as alterações feitas em um O espaço de trabalho de desenvolvimento do Dataform pode ser enviado e extraído do repositório Git remoto.

É possível conectar um repositório remoto por HTTPS ou SSH.

A tabela a seguir lista os provedores Git compatíveis e a conexão disponíveis para os repositórios:

Provedor do git Método de conexão
Serviços de DevOps do Azure SSH
Bitbucket SSH
GitHub SSH ou HTTPS
GitLab SSH ou HTTPS

Antes de começar

  1. Se a organização ou o projeto restringir repositórios Git remotos com a política da organização dataform.restrictGitRemotes, verifique se os repositório Git remoto seja adicionado à lista de permissões na política antes Crie um repositório do Dataform que você quer conectar a um repositório remoto. Para mais informações, consulte Restringir repositórios remotos.
  2. Selecione ou Crie um repositório do Dataform. Você vai precisar dele mais tarde para compartilhar um segredo com seu conta de serviço padrão do Dataform.

Funções exigidas

Para ter as permissões necessárias para conectar um repositório do Dataform a um repositório Git remoto, peça ao administrador para conceder a você Papel do IAM Administrador do Dataform (roles/dataform.admin) nos repositórios. Para mais informações sobre como conceder papéis, consulte Gerenciar acesso.

Também é possível conseguir as permissões necessárias com papéis personalizados ou outros papéis predefinidos.

Conectar um repositório remoto por SSH

Para conectar um repositório remoto por SSH, é preciso gerar uma chave SSH e um secret do Secret Manager. A chave SSH consiste em de uma chave SSH pública e outra privada. Você precisa compartilhar a chave SSH pública com seu provedor Git e criar uma Secret do Secret Manager com a chave SSH privada. Depois, conte o segredo com sua conta de serviço padrão do Dataform.

O Dataform usa o secret com a chave SSH privada para fazer login no seu Git o provedor confirme as alterações em nome dos desenvolvedores. O Dataform torna esses commits usando o endereço de e-mail do Google Cloud do desenvolvedor para que você possa quem fez cada commit.

Para conectar um repositório remoto a um repositório do Dataform por SSH, siga estas etapas:

  1. No provedor Git, faça o seguinte:

    Serviços de DevOps do Azure

    1. No Azure DevOps Services, crie uma chave SSH privada.
    2. Faça upload da chave SSH pública ao repositório do Azure DevOps Services.

    Bitbucket

    1. No Bitbucket, crie uma chave SSH privada.
    2. Faça upload da chave SSH pública ao repositório do Bitbucket.

    GitHub

    1. No GitHub, crie uma chave SSH privada.
    2. Faça upload da chave SSH pública do GitHub ao seu repositório GitHub.

    GitLab

    1. No GitLab, crie uma chave SSH privada.
    2. Faça upload da chave SSH pública do GitLab ao seu repositório do GitLab.
  2. No Secret Manager, crie um secret e defina a chave SSH privada como o valor do secret.

    1. Conceda acesso ao secret à sua conta de serviço padrão do Dataform.

      Sua conta de serviço padrão do Dataform tem o seguinte formato:

      service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com
      
    2. Conceda Papel roles/secretmanager.secretAccessor à conta de serviço.

  3. No Console do Google Cloud, acesse a página Dataform.

    Acessar o Dataform

  4. Selecione o repositório do Dataform que você quer conectar ao repositório remoto.

  5. Na página do repositório, clique em Configurações > Conecte-se com o Git.

  6. No painel Link para o repositório remoto, na seção No campo URL do repositório Git remoto, insira o URL do arquivo repositório, terminando com .git.

    O URL do repositório Git remoto precisa estar em um dos os seguintes formatos:

    • URL absoluto: ssh://git@{host_name}[:{port}]/{repository_path}, port é opcional.
    • URL semelhante a SCP: git@{host_name}:{repository_path}.
  7. No campo Nome da ramificação remota padrão, digite o nome. da principal ramificação de desenvolvimento do repositório Git remoto.

  8. No menu suspenso Secret, selecione seu secret para o Git remoto repositório de dados.

  9. No campo Valor da chave pública do host SSH, insira a chave do host pública da sua Provedor Git.

    Serviços de DevOps do Azure

    O valor da chave pública do host SSH precisa estar no formato de um arquivo known_hosts. O valor precisa conter um algoritmo e uma chave pública codificada no base64, mas sem o nome do host ou o IP, no seguinte formato:

    ALGORITHM BASE64_KEY_VALUE
    

    Para recuperar a chave de host pública do Azure DevOps Services, execute o comando ssh-keyscan -t rsa ssh.dev.azure.com no terminal.

    Bitbucket

    O valor da chave pública do host SSH precisa estar no formato de um arquivo known_hosts. O valor precisa conter um algoritmo e uma chave pública codificada no base64, mas sem o nome do host ou o IP, no seguinte formato:

    ALGORITHM BASE64_KEY_VALUE
    

    Para recuperar a chave pública do host do Bitbucket, consulte Configure o SSH.

    GitHub

    O valor da chave pública do host SSH precisa estar no formato de um arquivo known_hosts. O valor precisa conter um algoritmo e uma chave pública codificada no base64, mas sem o nome do host ou o IP, no seguinte formato:

    ALGORITHM BASE64_KEY_VALUE
    

    Para recuperar a chave pública do host do GitHub, consulte Impressões digitais de chave SSH do GitHub (em inglês).

    GitLab

    O valor da chave pública do host SSH precisa estar no formato de um arquivo known_hosts. O valor precisa conter um algoritmo e uma chave pública codificada no base64, mas sem o nome do host ou o IP, no seguinte formato:

    ALGORITHM BASE64_KEY_VALUE
    

    Para recuperar a chave pública do host do GitLab, consulte Entradas SSH known_hosts.

  10. Clique em Vincular.

Conectar um repositório remoto por HTTPS

Para conectar um repositório remoto por HTTPS, é preciso criar um Secret do Secret Manager com um token de acesso pessoal e compartilhar com sua conta de serviço padrão do Dataform.

O Dataform usa o token de acesso para fazer login no seu provedor Git para confirmar as mudanças em nome dos desenvolvedores. Com o Dataform, usando o endereço de e-mail do Google Cloud do desenvolvedor para informar quem fez cada commit.

Para conectar um repositório remoto a um repositório do Dataform usando HTTPS: siga estas etapas:

  1. No provedor Git, faça o seguinte:

    GitHub

    1. No GitHub, crie um token de acesso pessoal detalhado. ou um token de acesso pessoal clássico.

      • Para um token de acesso pessoal detalhado do GitHub, faça o seguinte:
      1. Selecione o acesso ao repositório somente para os repositórios selecionados e selecione o ao qual você quer se conectar.

      2. Conceda acesso de leitura e gravação no conteúdo do repositório.

      3. Defina um prazo de validade do token adequado às suas necessidades.

      • Para um token de acesso pessoal clássico do GitHub, faça o seguinte:
      1. Conceda a permissão repo ao Dataform.

      2. Defina um prazo de validade do token adequado às suas necessidades.

    2. Caso sua organização use o Logon único (SSO) via SAML, autorize o token.

    GitLab

    1. No GitLab, crie um token de acesso pessoal do GitLab (em inglês).

    2. Nomeie o token como dataform.

      O token de acesso pessoal do GitLab precisa ser nomeado como dataform.

    3. Conceder ao Dataform as condições api, read_repository, e write_repository.

    4. Defina um prazo de validade do token adequado às suas necessidades.

  2. No Secret Manager, criar um secret contendo o token de acesso pessoal do seu repositório remoto.

  3. Conceda acesso ao secret à sua conta de serviço padrão do Dataform.

    Sua conta de serviço padrão do Dataform tem o seguinte formato:

    service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com
    
    1. Conceda Papel roles/secretmanager.secretAccessor à conta de serviço.
  4. No Console do Google Cloud, acesse a página Dataform.

    Acessar o Dataform

  5. Selecione o repositório do Dataform que você quer conectar ao repositório remoto.

  6. Na página do repositório, clique em Configurações > Conecte-se com o Git.

  7. No painel Link para o repositório remoto, na seção No campo URL do repositório Git remoto, insira o URL do arquivo repositório, terminando com .git.

    O URL do repositório Git remoto não pode conter nomes de usuário ou senhas.

  8. No campo Nome da ramificação remota padrão, digite o nome. da principal ramificação de desenvolvimento do repositório Git remoto.

  9. No menu suspenso Secret, selecione seu secret para o Git remoto repositório de dados.

  10. Clique em Vincular.

Editar a conexão do repositório remoto

Editar uma conexão entre um repositório do Dataform e um controle remoto Git, siga estas etapas:

  1. No Console do Google Cloud, acesse a página Dataform.

    Acessar o Dataform

  2. Clique no repositório que você quer editar.

  3. Na página do repositório, clique em Configurações > Editar conexão do Git

  4. No painel Link para o repositório remoto, edite as configurações de conexão.

  5. Clique em Atualizar.

A seguir