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 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 meio de 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 Services e Bitbucket, você precisa 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 receber 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 de Administrador do Dataform (roles/dataform.admin
) nos repositórios.
Para mais informações sobre como conceder papéis, consulte Gerenciar acesso.
Talvez você também consiga receber as permissões necessárias por meio de 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 meio de HTTPS, crie um secret do Secret Manager com um token de acesso pessoal e compartilhe-o com sua conta de serviço do Dataform.
O Dataform usa o token de acesso para fazer login no seu provedor Git e confirmar mudanças 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ê saiba 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 clássico de acesso pessoal (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 ao Dataform a permissão
repo
.Defina um prazo de validade do token adequado às suas necessidades.
Caso sua organização use o Logon único (SSO, na sigla em inglês) via 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 apenas a repositórios selecionados e o a que você quer se conectar.
Conceda acesso de leitura e gravação ao conteúdo do repositório.
Defina um prazo de validade do token adequado às suas necessidades.
Caso sua organização use o Logon único (SSO, na sigla em inglês) via SAML, autorize o token.
Ao criar um token de acesso pessoal do GitLab, faça o seguinte:
Dê o nome
dataform
ao token.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 contendo um token de acesso pessoal para se conectar ao seu provedor Git.
Conceda acesso ao secret para 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 mudanças 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ê saiba quem fez cada confirmação.
Autenticar um repositório remoto por SSH
É possível autenticar os 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 consiste em uma chave SSH pública e uma chave SSH privada. Você precisa compartilhar a chave SSH pública com o provedor Git e criar um secret Manager com a chave SSH privada. 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 mudanças 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ê saiba quem fez cada confirmação.
Para autenticar um repositório do Azure DevOps Services, Bitbucket, GitHub ou GitLab no Dataform por SSH, siga estas etapas:
Crie uma chave SSH nos Serviços do Azure DevOps, no Bitbucket, no GitHub ou no GitLab.
Para instruções sobre como criar uma chave SSH dos Serviços de DevOps do Azure, 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 o 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 o Azure DevOps Services, consulte Usar autenticação por chave SSH.
Para instruções sobre como fazer o upload de uma chave SSH pública para o Bitbucket, consulte Configurar SSH.
Para saber 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 valor do secret.
Conceda acesso ao secret para 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, digite o URL do repositório Git remoto, terminando com
.git
.Para a 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 precisa 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, digite o nome da ramificação de desenvolvimento principal 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 do host pública SSH, insira uma única chave de host pública 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 codificados no formatobase64
, mas sem o nome do host ou o IP, no seguinte formato:ALGORITHM BASE64_KEY_VALUE
Para a chave pública de host dos Serviços de DevOps do Azure, consulte Usar autenticação por chave SSH.
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
known_hosts
SSH.
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 Vincular ao 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 ramificação de desenvolvimento principal 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 do host pública SSH, insira a chave de host pública 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 codificados 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
known_hosts
SSH.
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.