Este documento mostra 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 de Git e os métodos de 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
- Se a sua organização ou projeto restringir repositórios Git remotos
com a política da organização
dataform.restrictGitRemotes
, verifique se o repositório Git remoto foi adicionado à lista de permissões na política antes de criar um 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 sua conta de serviço padrão do Dataform.
Funções exigidas
Para receber as permissões necessárias para conectar um repositório do Dataform a um repositório remoto do Git,
peça ao administrador para conceder a você o
papel do IAM Administrador do Dataform (roles/dataform.admin
) nos repositórios.
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 por meio de papéis personalizados ou de outros papéis predefinidos.
Conectar um repositório remoto por SSH
Para conectar um repositório remoto por SSH, é necessário gerar uma chave SSH e um segredo do Secret Manager. A chave SSH consiste em uma chave pública e uma chave privada. Você precisa compartilhar a chave SSH pública com seu provedor do Git e criar um secret do Secret Manager com a chave SSH privada. Em seguida, compartilhe o secret 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 provedor Git e confirmar as alterações em nome dos desenvolvedores. O Dataform faz esses commits usando o endereço de e-mail Google Cloud do desenvolvedor para que você possa saber quem fez cada commit.
Para conectar um repositório remoto a um repositório do Dataform por SSH, siga estas etapas:
No seu provedor do Git, faça o seguinte:
Serviços de DevOps do Azure
- No Azure DevOps Services, crie uma chave SSH privada.
- Faça upload da chave SSH pública no repositório do Azure DevOps Services.
Bitbucket
- No Bitbucket, crie uma chave SSH privada.
- Faça upload da chave SSH pública no seu repositório do Bitbucket.
GitHub
- No GitHub, crie uma chave SSH privada.
- Faça upload da chave SSH pública do GitHub no seu repositório do GitHub.
GitLab
- No GitLab, crie uma chave SSH privada.
- Faça upload da chave SSH pública do GitLab no seu repositório do GitLab.
No Secret Manager, crie um secret e defina a chave SSH privada como o valor do secret.
Conceda acesso ao secret à sua conta de serviço padrão do Dataform.
A conta de serviço padrão do Dataform está neste formato:
service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com
Conceda o papel
roles/secretmanager.secretAccessor
à conta de serviço.
No Console do Google Cloud, acesse a página Dataform.
Selecione o repositório do Dataform que você quer conectar ao repositório remoto.
Na página do repositório, clique em Settings > Connect with Git.
No painel Vincular ao repositório remoto, no campo URL do repositório Git remoto, insira o URL do repositório Git remoto, que termina com
.git
.O URL do repositório Git remoto precisa estar em um dos seguintes formatos:
- URL absoluto:
ssh://git@{host_name}[:{port}]/{repository_path}
,port
é opcional. - URL semelhante ao SCP:
git@{host_name}:{repository_path}
.
- URL absoluto:
No campo Default remote branch name, insira o nome da ramificação de desenvolvimento principal do repositório remoto do Git.
No menu suspenso Secret, selecione o secret para o repositório Git remoto.
No campo SSH public host key value, insira a chave pública do host do seu provedor do 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 formatobase64
, mas sem o nome de host ou 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 formatobase64
, mas sem o nome de host ou IP, no seguinte formato:ALGORITHM BASE64_KEY_VALUE
Para recuperar a chave de host pública do Bitbucket, consulte Configurar 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 formatobase64
, mas sem o nome de host ou IP, no seguinte formato:ALGORITHM BASE64_KEY_VALUE
Para recuperar a chave pública do host do GitHub, consulte Impressões digitais da chave SSH do GitHub.
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 formatobase64
, mas sem o nome de host ou IP, no seguinte formato:ALGORITHM BASE64_KEY_VALUE
Para recuperar a chave pública do host do GitLab, consulte Entradas
known_hosts
do SSH.Clique em Vincular.
Conectar um repositório remoto por HTTPS
Para conectar um repositório remoto por HTTPS, é necessário criar um secret do Secret Manager com um token de acesso pessoal e compartilhar o secret com a conta de serviço padrão do Dataform.
O Dataform usa o token de acesso para fazer login no seu provedor do Git e confirmar as alterações em nome dos desenvolvedores. O Dataform faz essas confirmações usando o endereço de e-mail Google Cloud do desenvolvedor para que você possa saber quem fez cada confirmação.
Para conectar um repositório remoto a um repositório do Dataform por HTTPS, siga estas etapas:
No seu provedor do Git, faça o seguinte:
GitHub
No GitHub, crie um token de acesso pessoal detalhado ou um token de acesso pessoal clássico.
- Para um token de acesso pessoal do GitHub detalhado, faça o seguinte:
Selecione o acesso a repositórios apenas para repositórios selecionados e selecione o repositório que você quer conectar.
Conceda acesso de leitura e gravação ao conteúdo do repositório.
Defina um tempo de expiração de token adequado às suas necessidades.
- Para um token de acesso pessoal clássico do GitHub, faça o seguinte:
Conceda a permissão
repo
ao Dataform.Defina um tempo de expiração de token adequado às suas necessidades.
Se a sua organização usa o Logon único (SSO) SAML, autorize o token.
GitLab
No GitLab, crie um token de acesso pessoal do GitLab.
Nomeie o token como
dataform
.O token de acesso pessoal do GitLab precisa ser chamado de
dataform
.Conceda ao Dataform as permissões
api
,read_repository
ewrite_repository
.Defina um tempo de validade de token adequado às suas necessidades.
No Secret Manager, crie um secret com o token de acesso pessoal do repositório remoto.
Conceda acesso ao secret à sua conta de serviço padrão do Dataform.
A conta de serviço padrão do Dataform está neste formato:
service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com
- Conceda o
papel
roles/secretmanager.secretAccessor
à conta de serviço.
- Conceda o
papel
No Console do Google Cloud, acesse a página Dataform.
Selecione o repositório do Dataform que você quer conectar ao repositório remoto.
Na página do repositório, clique em Settings > Connect with Git.
No painel Vincular ao repositório remoto, no campo URL do repositório Git remoto, insira o URL do repositório Git remoto, que termina com
.git
.O URL do repositório Git remoto não pode conter nomes de usuário ou senhas.
No campo Default remote branch name, insira o nome da ramificação de desenvolvimento principal do repositório remoto do Git.
No menu suspenso Secret, selecione o secret para o repositório Git remoto.
Clique em Vincular.
Editar a conexão do repositório remoto
Para editar uma conexão entre um repositório do Dataform e um repositório Git remoto, siga estas etapas:
No Console do Google Cloud, acesse a página Dataform.
Clique no repositório que você quer editar.
Na página do repositório, clique em Settings > Edit Git connection.
No painel Link do repositório remoto, edite as configurações de conexão.
Clique em Atualizar.
A seguir
Para saber mais sobre os repositórios do Dataform, consulte Criar um repositório.
Para criar um espaço de trabalho de desenvolvimento, consulte Criar um espaço de trabalho.
Para saber como resolver problemas com conexões de repositório remoto, consulte Resolver problemas com o Dataform.