Neste documento, mostramos como conectar um repositório remoto a um repositório do Dataform. Depois de conectar os repositórios, as mudanças feitas em um espaço de trabalho de desenvolvimento do Dataform podem ser enviadas e extraídas 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 os métodos de conexão disponíveis para os repositórios deles:
| Provedor do git | Método de conexão |
|---|---|
| Serviços do Azure DevOps | SSH |
| Bitbucket | Developer Connect (recomendado), SSH |
| GitHub | Developer Connect (recomendado), SSH ou HTTPS |
| GitLab | Developer Connect (recomendado), SSH ou HTTPS |
Antes de começar
- Se a organização ou o projeto restringir repositórios Git remotos com a política da organização
dataform.restrictGitRemotes, adicione o repositório Git remoto à lista de permissões na política antes de criar o repositório do Dataform que você quer conectar a um repositório remoto. Para mais informações, consulte Restringir repositórios remotos. Selecione ou crie um repositório do Dataform. Você vai precisar dele mais tarde para compartilhar um secret com seu agente de serviço do Dataform padrão.
Verifique se você tem as permissões necessárias no provedor Git e se o repositório do Dataform está em uma região compatível.
Se você estiver conectando o Developer Connect a um repositório do Bitbucket, verifique se o token de acesso do autorizador tem acesso de gravação aos seus repositórios para que o Dataform possa enviar alterações. Para mais informações, consulte Criar tokens de acesso.
Requisitos e limitações de conectividade de rede
Antes de conectar seu repositório Git remoto ao Dataform, verifique se a configuração de rede atende aos requisitos do método de conexão escolhido.
Conexões de rede privada
O Dataform não oferece suporte a conexões diretas com endereços IP particulares (por exemplo, 10.x.x.x, 172.16.x.x-172.31.x.x ou 192.168.x.x) de hosts ou repositórios Git locais em redes particulares usando HTTPS ou SSH. Isso inclui o acesso usando uma nuvem privada virtual (VPC), VPN ou Cloud Interconnect.
Para se conectar a um repositório em uma rede privada ou se o host Git estiver atrás de um firewall, use o Developer Connect.
Conexões de rede pública
Para conectar um repositório Git remoto usando HTTPS ou SSH, seu host Git precisa ter um endereço IP público.
Se você se conectar a um repositório remoto protegido com um endereço IP público usando HTTPS ou SSH, adicione os intervalos de endereços IP de saída do Dataform necessários às suas regras de firewall.
Requisitos do VPC Service Controls
Se o projeto usa o VPC Service Controls, defina a política da organização dataform.restrictGitRemotes para se conectar a qualquer repositório Git de terceiros. Para mais informações, consulte
Restringir repositórios remotos.
Funções exigidas
Para receber 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ê os seguintes papéis do IAM nos repositórios:
- Administrador do Dataform (
roles/dataform.admin) - Administrador do Developer Connect (
roles/developerconnect.admin)
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Também é possível conseguir as permissões necessárias usando papéis personalizados ou outros papéis predefinidos.
Para conectar um repositório remoto usando o Developer Connect, conceda as funções Acessador de token do Developer Connect (roles/developerconnect.tokenAccessor) e Usuário de proxy do Git do Developer Connect (roles/developerconnect.gitProxyUser) ao agente de serviço padrão do Dataform. O ID do agente de serviço padrão do Dataform está no seguinte formato:
service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com
Conectar um repositório remoto usando o Developer Connect
O Developer Connect simplifica a integração de provedores Git externos com repositórios do Dataform ao fornecer uma interface guiada que elimina a necessidade de gerenciamento manual de secrets.
Com o Developer Connect, é possível se conectar a repositórios remotos em redes hospedadas de maneira privada, como ambientes locais ou nuvens privadas virtuais (VPCs), sem expô-los à Internet pública.
Preparar conexões de rede privada
Se você estiver se conectando a um repositório remoto em uma rede particular, verifique se tem as seguintes informações e recursos antes de iniciar a configuração:
- O namespace e o nome do serviço do Service Directory que aponta para seu host Git interno.
- Um certificado de autoridade certificadora no formato PEM (com tamanho máximo de 10 KB) se o host usar uma autoridade certificadora particular ou autoassinada.
- Verificação de que o certificado SSL do host Git inclui um nome alternativo do requerente (SAN) que corresponde ao URI do host.
Para mais informações sobre como configurar conexões para redes hospedadas de forma particular, consulte o seguinte:
- Configurar e usar o proxy do Developer Connect
- Conectar-se ao GitHub Enterprise em uma rede particular
- Conectar-se a repositórios do GitLab Enterprise em uma rede particular
- Conectar-se a repositórios do Bitbucket Data Center hospedados em uma rede particular
Criar uma conexão do Developer Connect
Para conectar um repositório remoto a uma nova conexão do Developer Connect, selecione uma das seguintes opções:
Bitbucket
No Google Cloud console, acesse a página Dataform.
Selecione seu Repositório.
Acesse Configurações e clique em Conectar com o Git.
No painel Vincular ao repositório remoto, na seção Protocolo do repositório Git remoto, selecione Developer Connect.
No menu de seleção de repositórios, clique em Vincular novo repositório.
No painel Vincular repositórios Git via Developer Connect, selecione Criar nova conexão.
Selecione Bitbucket como seu provedor.
Especifique a região e o nome da conexão.
Forneça o nome do espaço de trabalho, o token de acesso do autorizador e o token de acesso de leitura.
Clique em Continuar, selecione os repositórios remotos para vincular e clique em Vincular.
No Dataform, selecione seu repositório remoto e a ramificação padrão.
Para concluir a configuração, clique em Vincular.
GitHub
No Google Cloud console, acesse a página Dataform.
Selecione seu Repositório.
Acesse Configurações e clique em Conectar com o Git.
No painel Vincular ao repositório remoto, na seção Protocolo do repositório Git remoto, selecione Developer Connect.
No menu de seleção de repositórios, clique em Vincular novo repositório.
No painel Vincular repositórios Git via Developer Connect, selecione Criar nova conexão.
Selecione GitHub como seu provedor.
Especifique a região e o nome da conexão.
Para acionar o fluxo de autenticação OAuth, clique em Continuar e faça o seguinte:
- Clique em Entendi e quero continuar.
- Selecione Instalar o app GitHub em outra conta do GitHub e siga as instruções para autorizar o acesso à sua conta do GitHub e a repositórios específicos.
- Selecione a conta em que você quer instalar o aplicativo Dataform GitHub.
- Na seção Acesso ao repositório, selecione se você quer dar acesso a todos os repositórios ou apenas a uma seleção deles.
- Clique em Salvar.
Selecione os repositórios remotos para vincular e clique em Vincular.
No Dataform, selecione seu repositório remoto e a ramificação padrão.
Para concluir a configuração, clique em Vincular.
GitLab
No Google Cloud console, acesse a página Dataform.
Selecione seu Repositório.
Acesse Configurações e clique em Conectar com o Git.
No painel Vincular ao repositório remoto, na seção Protocolo do repositório Git remoto, selecione Developer Connect.
No menu de seleção de repositórios, clique em Vincular novo repositório.
No painel Vincular repositórios Git via Developer Connect, selecione Criar nova conexão.
Selecione GitLab como seu provedor.
Especifique a região e o nome da conexão.
Forneça o token de acesso à API e o token de acesso à API de leitura. Para informações sobre como fazer isso, consulte Criar tokens de acesso.
Clique em Continuar, selecione os repositórios remotos para vincular e clique em Vincular.
No Dataform, selecione seu repositório remoto e a ramificação padrão.
Para concluir a configuração, clique em Vincular.
Usar uma conexão do Developer Connect
Para conectar um repositório remoto a uma conexão do Developer Connect existente, faça o seguinte:
No Google Cloud console, acesse a página Dataform.
Selecione seu Repositório.
Acesse Configurações e clique em Conectar com o Git.
No painel Vincular ao repositório remoto, na seção Protocolo do repositório Git remoto, selecione Developer Connect.
No menu de seleção de repositório, escolha um que pertença a uma conexão do Developer Connect.
No Dataform, selecione seu repositório remoto e a ramificação padrão.
Para concluir a configuração, clique em Vincular.
Conectar um repositório remoto por SSH
Para conectar um repositório remoto por SSH, é necessário gerar uma chave SSH e um secret do Secret Manager. A chave SSH consiste em uma chave SSH pública e uma chave SSH privada. É necessário compartilhar a chave SSH pública com seu provedor Git e criar um secret do Secret Manager com a chave SSH privada. Em seguida, compartilhe o secret com seu agente de serviço padrão do Dataform.
O Dataform usa o secret com a chave SSH privada para fazer login no seu provedor Git e confirmar as mudanças em nome dos desenvolvedores. O Dataform faz essas confirmações usando o endereço de e-mail Google Cloud do desenvolvedor para que você saiba quem fez cada confirmação.
Para conectar um repositório remoto a um repositório do Dataform por SSH, siga estas etapas: