Neste documento, mostramos como vincular um repositório do Dataform a um repositório Git remoto de terceiros.
Depois de vincular os repositórios, as alterações feitas em um espaço de trabalho de desenvolvimento do Dataform podem ser enviadas e extraídas do repositório Git remoto.
É possível vincular um repositório do Dataform a um repositório Git remoto hospedado pelos seguintes provedores do Git:
Serviços de DevOps do Azure
Bitbucket
GitHub
GitLab
Para vincular um repositório remoto de terceiros a um repositório do Dataform, primeiro você precisa autenticá-lo. É possível autenticar um repositório remoto no Dataform por HTTPS ou SSH.
Nos repositórios remotos do GitHub e do GitLab, é possível usar HTTPS ou SSH para autenticação. Para repositórios remotos do Azure DevOps e do Bitbucket, é preciso usar o SSH.
Antes de começar
Crie um repositório do Dataform caso ainda não tenha feito isso. Você vai precisar dele mais tarde para compartilhar um secret com sua conta de serviço do Dataform.
Funções exigidas
Para ter as permissões necessárias para vincular um repositório do Dataform a um repositório Git remoto,
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 como conceder papéis, consulte Gerenciar acesso.
Também é possível receber as permissões necessárias com papéis personalizados ou outros papéis predefinidos.
Autenticar um repositório remoto por HTTPS
Para autenticar os repositórios do GitHub e do GitLab por HTTPS, crie um secret do Secret Manager com um token de acesso pessoal e compartilhe o secret com sua conta de serviço do Dataform.
Em seguida, o Dataform usa o token de acesso para fazer login no provedor Git e confirmar as alterações em nome dos desenvolvedores. O Dataform faz essas confirmações usando o endereço de e-mail do Google Cloud do desenvolvedor. Assim, é possível saber quem fez cada confirmação.
Para autenticar um repositório do GitHub, crie um token de acesso pessoal clássico ou um token de acesso pessoal detalhado que permita personalizar as permissões de token.
Para autenticar um repositório do GitLab, crie um token de acesso pessoal clássico (em inglês).
Para autenticar um repositório do GitHub ou do GitLab no Dataform por HTTPS, siga estas etapas:
No GitHub ou no GitLab, crie um token de acesso pessoal.
Ao criar um token de acesso pessoal do GitHub, faça o seguinte:
Conceda a permissão
repo
ao Dataform.Defina um prazo de validade do token adequado às suas necessidades.
Se a organização usa o Logon único (SSO, na sigla em inglês) SAML, autorize o token.
Opcional: ao criar um token de acesso pessoal detalhado do GitHub, faça o seguinte:
Selecione o acesso ao repositório somente para os repositórios selecionados e escolha o repositório que você quer acessar.
Conceda acesso de leitura e gravação no conteúdo do repositório.
Defina um prazo de validade do token adequado às suas necessidades.
Se a organização usa o Logon único (SSO, na sigla em inglês) SAML, autorize o token.
Ao criar um token de acesso pessoal do GitLab, faça o seguinte:
Nomeie o token como
dataform
.O token de acesso pessoal do GitLab precisa ser nomeado como
dataform
.Conceda ao Dataform as permissões
api
,read_repository
ewrite_repository
.Defina um prazo de validade do token adequado às suas necessidades.
No Secret Manager, crie um secret com um token de acesso pessoal para se conectar ao provedor Git.
Conceda acesso ao secret à sua conta de serviço do Dataform.
Sua conta de serviço do Dataform está no seguinte formato:
service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com
- Ao conceder acesso, conceda o papel
roles/secretmanager.secretAccessor
à sua conta de serviço do Dataform.
- Ao conceder acesso, conceda o papel
O Dataform usa o token de acesso para fazer login no seu provedor Git e confirmar as alterações em nome dos desenvolvedores. O Dataform faz essas confirmações usando o endereço de e-mail do Google Cloud do desenvolvedor. Assim, é possível saber quem fez cada confirmação.
Autenticar um repositório remoto por SSH
É possível autenticar repositórios do Azure DevOps Services, Bitbucket, GitHub e GitLab por meio do SSH, gerando uma chave SSH e um secret do Secret Manager.
A chave SSH é composta por uma chave SSH pública e uma chave SSH privada. Você precisa compartilhar a chave SSH pública com seu provedor Git e criar um secret do Secret Manager com a chave SSH particular. Em seguida, compartilhe o secret com sua conta de serviço do Dataform.
O Dataform usa o secret com a chave SSH privada para fazer login no seu provedor Git e confirmar alterações em nome dos desenvolvedores. O Dataform faz essas confirmações usando o endereço de e-mail do Google Cloud do desenvolvedor para que você possa saber quem fez cada confirmação.
Para autenticar um repositório Azure DevOps Services, Bitbucket, GitHub ou GitLab no Dataform por meio do SSH, siga estas etapas:
Nos serviços Azure DevOps, Bitbucket, GitHub ou GitLab, crie uma chave SSH.
Para instruções sobre como criar uma chave SSH do Azure DevOps Services, consulte Usar autenticação por chave SSH.
Para instruções sobre como criar uma chave SSH do Bitbucket, consulte Configurar SSH.
Para instruções sobre como criar uma chave SSH do GitHub, consulte Como gerar uma nova chave SSH.
Para instruções sobre como criar uma chave SSH do GitLab, consulte Gerar um par de chaves SSH.
Faça upload da chave SSH pública na sua conta Git de terceiros.
Para instruções sobre como fazer upload de uma chave SSH pública para os Serviços de DevOps do Azure, consulte Usar a autenticação de chave SSH.
Para instruções sobre o upload de uma chave SSH pública no Bitbucket, consulte Configurar SSH.
Para instruções sobre como fazer upload de uma chave SSH pública para o GitHub, consulte Como adicionar uma nova chave SSH à sua conta do GitHub.
Para instruções sobre como fazer upload de uma chave SSH pública para o GitLab, consulte Adicionar uma chave SSH à sua conta do GitLab (em inglês).
No Secret Manager, crie um secret com a chave SSH privada como o valor do secret.
Conceda acesso ao secret à sua conta de serviço do Dataform.
Sua conta de serviço do Dataform está no seguinte formato:
service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com
- Ao conceder acesso, conceda o papel
roles/secretmanager.secretAccessor
à sua conta de serviço do Dataform.
- Ao conceder acesso, conceda o papel
Conectar um repositório do Dataform
Para vincular um repositório do Dataform a um repositório Git remoto, siga estas etapas:
No Console do Google Cloud, acesse a página Dataform.
Selecione o repositório que você quer conectar.
Na página do repositório, clique em Settings > Connect with Git.
No painel Link para o repositório remoto, no campo URL do repositório Git remoto, insira o URL do repositório Git remoto, terminando com
.git
.Para autenticação HTTPS, o URL do repositório Git remoto não pode conter nomes de usuário ou senhas.
Para autenticação SSH, o URL do repositório Git remoto deve estar em um dos seguintes formatos:
- URL absoluto:
ssh://git@{host_name}[:{port}]/{repository_path}
,port
é opcional. - URL semelhante a SCP:
git@{host_name}:{repository_path}
.
- URL absoluto:
No campo Nome da ramificação remota padrão, insira o nome da principal ramificação de desenvolvimento do repositório Git remoto.
No menu suspenso Secret, selecione o secret do repositório Git remoto.
Se você usou a autenticação SSH para o repositório remoto, no campo Valor da chave pública do host SSH, insira uma única chave pública do host do seu provedor Git.
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 do host ou o IP no seguinte formato:ALGORITHM BASE64_KEY_VALUE
Para a chave de host pública do Azure DevOps Services, execute o comando
ssh-keyscan -t rsa ssh.dev.azure.com
no terminal.Para a chave pública do host do Bitbucket, consulte Configurar SSH.
Para a chave pública do host do GitHub, consulte Impressões digitais da chave SSH do GitHub (em inglês).
Para a chave pública do host do GitLab, consulte Entradas SSH
known_hosts
.
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 conexão.
No painel Link para o repositório remoto, edite uma destas opções:
No campo URL do repositório Git remoto, edite o URL do repositório Git remoto vinculado.
O URL do repositório Git remoto não pode conter nomes de usuário ou senhas.
No campo Nome da ramificação remota padrão, edite o nome da principal ramificação de desenvolvimento do repositório Git remoto.
No menu suspenso Secret, selecione o secret para o repositório Git remoto.
Se você usou a autenticação SSH para o repositório remoto, no campo Valor da chave pública do host SSH, insira a chave pública do host do seu provedor Git.
O valor da chave pública do host SSH precisa estar no formato de um arquivo de host conhecido. O valor precisa conter um algoritmo e uma chave pública codificada no formato
base64
, mas sem o nome do host ou o IP no seguinte formato:ALGORITHM BASE64_KEY_VALUE
Para a chave pública do host do Bitbucket, consulte Configurar SSH.
Para a chave pública do host do GitHub, consulte Impressões digitais da chave SSH do GitHub (em inglês).
Para a chave pública do host do GitLab, consulte Entradas SSH
known_hosts
.
Clique em Atualizar.
A seguir
Para saber mais sobre os repositórios do Dataform, consulte Introdução aos repositórios.
Para criar um espaço de trabalho de desenvolvimento, consulte Criar um espaço de trabalho.
Para saber mais sobre o Dataform, consulte Visão geral do Dataform.