Conectar-se a um repositório Git de terceiros

Neste documento, mostramos como vincular um repositório do Dataform a uma repositório Git remoto de terceiros.

Depois de vincular os repositórios, as alterações feitas em um O espaço de trabalho de desenvolvimento do Dataform pode ser enviado e extraído do repositório Git remoto.

É possível vincular um repositório do Dataform a um repositório Git remoto hospedado pelo 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, você precisa autenticá-lo primeiro. É possível autenticar um repositório remoto o Dataform por HTTPS ou SSH.

Para repositórios remotos do GitHub e do GitLab, é possível usar HTTPS ou SSH para autenticação. Para os repositórios remotos do Azure DevOps Services e do Bitbucket, use SSH.

Antes de começar

Caso ainda não tenha feito isso, Crie um repositório do Dataform. 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ê 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 conseguir as permissões necessárias com papéis personalizados ou outros papéis predefinidos.

Autenticar um repositório remoto por HTTPS

É possível autenticar os repositórios do GitHub e do GitLab por HTTPS criando um Secret do Secret Manager com um token de acesso pessoal e o compartilhamento com sua conta de serviço do Dataform.

O Dataform usa o token de acesso para fazer login no seu provedor Git para confirmar as mudanças em nome dos desenvolvedores. Com o Dataform, usando o endereço de e-mail do Google Cloud do desenvolvedor para informar quem fez cada commit.

Para autenticar um repositório do GitHub, crie um token de acesso pessoal clássico ou um token de acesso pessoal detalhado para personalizar as permissões do token.

Para autenticar um repositório do GitLab, crie um token de acesso pessoal clássico.

Para autenticar um repositório do GitHub ou do GitLab no Dataform usando o 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 a permissão repo ao Dataform.

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

    3. Caso sua organização use o Logon único (SSO) via SAML, autorize o token.

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

    1. Selecione o acesso ao repositório apenas para os repositórios selecionados e selecione o ao qual você quer se conectar.

    2. Conceda acesso de leitura e gravação no 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) via SAML, autorize o token.

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

    1. Nomeie o token como dataform.

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

    2. Conceder ao Dataform as condições api, read_repository, e write_repository.

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

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

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

O Dataform usa o token de acesso para fazer login no seu provedor Git para confirmar as mudanças em nome dos desenvolvedores. Com o Dataform, usando o endereço de e-mail do Google Cloud do desenvolvedor para informar quem fez cada commit.

Autenticar um repositório remoto por SSH

É possível autenticar os serviços do Azure DevOps, o Bitbucket, o GitHub e o GitLab por SSH, gerando uma chave SSH e um Secret Manager segredo.

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 uma Secret do Secret Manager com a chave SSH privada. Depois, conte o segredo com sua conta de serviço do Dataform.

O Dataform usa o secret com a chave SSH privada para fazer login no seu Git o provedor confirme as alterações em nome dos desenvolvedores. O Dataform torna esses commits usando o endereço de e-mail do Google Cloud do desenvolvedor para que você possa quem fez cada commit.

Para autenticar um repositório do Azure DevOps Services, Bitbucket, GitHub ou GitLab no Dataform por SSH, siga estas etapas:

  1. Nos serviços Azure DevOps, Bitbucket, GitHub ou GitLab, crie uma chave SSH.

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

  3. No Secret Manager, criar um secret usando a chave SSH privada como valor do secret.

  4. 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
    
    1. Ao conceder acesso, conceda a 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.

    Acessar o Dataform

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

  3. Na página do repositório, clique em Configurações > Conecte-se com o Git.

  4. No painel Link para o repositório remoto, na seção No campo URL do repositório Git remoto, insira o URL do arquivo repositório, terminando com .git.

    Para autenticação HTTPS, o URL do repositório Git remoto não pode que contenham nomes de usuário ou senhas.

    Para autenticação SSH, o URL do repositório Git remoto deve estar em um dos os 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 principal ramificação de desenvolvimento do repositório Git remoto.

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

  7. Se você usou a autenticação SSH para o repositório remoto, no Valor da chave pública do host SSH, insira uma única chave 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 codificada no 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

Editar uma conexão entre um repositório do Dataform e um controle remoto Git, siga estas etapas:

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

    Acessar o Dataform

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

  3. Na página do repositório, clique em Configurações > Editar conexão do Git

  4. No painel Link para o repositório remoto, edite um dos itens a seguir. opções:

    1. No campo URL do repositório Git remoto, edite o URL do arquivo repositório Git remoto.

      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 principal ramificação de desenvolvimento do repositório Git remoto.

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

    4. Se você usou a autenticação SSH para o repositório remoto, no Valor da chave pública do host SSH, insira a chave pública do host 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 base64, mas sem o nome do host ou o IP, no seguinte formato:

       ALGORITHM BASE64_KEY_VALUE
      
  5. Clique em Atualizar.

A seguir