Conectar-se a um repositório Git de terceiros

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:

  1. No GitHub ou no GitLab, crie um token de acesso pessoal.

  2. Ao criar um token de acesso pessoal do GitHub, faça o seguinte:

    1. Conceda ao Dataform a permissão repo.

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

    3. Caso sua organização use o Logon único (SSO, na sigla em inglês) via SAML, autorize o token.

  3. Opcional: ao criar um token de acesso pessoal detalhado do GitHub, faça o seguinte:

    1. Selecione o acesso ao repositório apenas a repositórios selecionados e o a que você quer se conectar.

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

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

    4. Caso sua organização use o Logon único (SSO, na sigla em inglês) via SAML, autorize o token.

  4. Ao criar um token de acesso pessoal do GitLab, faça o seguinte:

    1. Dê o nome dataform ao token.

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

    2. Conceda ao Dataform as permissões api, read_repository e write_repository.

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

  5. No Secret Manager, crie um secret contendo um token de acesso pessoal para se conectar ao seu provedor Git.

  6. 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
    
    1. Ao conceder acesso, conceda o papel roles/secretmanager.secretAccessor à 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.

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:

  1. Crie uma chave SSH nos Serviços do Azure DevOps, no Bitbucket, no GitHub ou no GitLab.

  2. Faça o upload da chave SSH pública na sua conta Git de terceiros.

  3. No Secret Manager, crie um secret com a chave SSH privada como valor do secret.

  4. 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
    
    1. Ao conceder acesso, conceda o papel roles/secretmanager.secretAccessor à sua conta de serviço do Dataform.

Conectar um repositório do Dataform

Para vincular um repositório do Dataform a um repositório Git remoto, siga estas etapas:

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

    Acesse o Dataform

  2. Selecione o repositório que você quer conectar.

  3. Na página do repositório, clique em Settings > Connect with Git.

  4. 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}.
  5. No campo Nome da ramificação remota padrão, digite o nome da ramificação de desenvolvimento principal do repositório Git remoto.

  6. No menu suspenso Secret, selecione o secret para o repositório Git remoto.

  7. 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 formato base64, mas sem o nome do host ou o IP, no seguinte formato:

      ALGORITHM BASE64_KEY_VALUE
    
  8. 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:

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

    Acesse o Dataform

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

  3. Na página do repositório, clique em Settings > Edit Git connection.

  4. No painel Vincular ao repositório remoto, edite uma destas opções:

    1. 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.

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

    3. No menu suspenso Secret, selecione o secret para o repositório Git remoto.

    4. 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
      
  5. Clique em Atualizar.

A seguir