Este documento mostra como associar um repositório remoto a um repositório do Dataform. Depois de associar os repositórios, pode enviar as alterações feitas num espaço de trabalho de desenvolvimento do Dataform para o repositório Git remoto e recebê-las deste.
Pode associar um repositório remoto através de HTTPS ou SSH.
A tabela seguinte indica os fornecedores Git compatíveis e os métodos de ligação disponíveis para os respetivos repositórios:
| Fornecedor de Git | Método de ligação |
|---|---|
| Azure DevOps Services | 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
dataform.restrictGitRemotespolítica da organização, certifique-se de que o repositório Git remoto é adicionado à lista de autorizações na política antes de criar um repositório do Dataform que quer associar a um repositório remoto. Para mais informações, consulte o artigo Restrinja repositórios remotos. - Selecione ou crie um repositório do Dataform. Precisa dele mais tarde para partilhar um segredo com o seu agente do serviço Dataform predefinido.
Funções necessárias
Para obter as autorizações de que
precisa para associar um repositório do Dataform a um repositório Git remoto,
peça ao seu administrador que lhe conceda a função do IAM
Administrador do Dataform (roles/dataform.admin)
nos repositórios.
Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.
Também pode conseguir as autorizações necessárias através de funções personalizadas ou outras funções predefinidas.
Ligue um repositório remoto através de SSH
Para associar um repositório remoto através de SSH, tem de gerar uma chave SSH e um segredo do Secret Manager. A chave SSH consiste numa chave SSH pública e numa chave SSH privada. Tem de partilhar a chave SSH pública com o seu fornecedor do Git e criar um segredo do Secret Manager com a chave SSH privada. Em seguida, partilhe o segredo com o agente de serviço do Dataform predefinido.
O Dataform usa o segredo com a chave SSH privada para iniciar sessão no seu fornecedor Git para confirmar as alterações em nome dos programadores. O Dataform faz estes commits com o endereço de email do programador Google Cloud , para que possa saber quem fez cada commit.
Para associar um repositório remoto a um repositório do Dataform através de SSH, siga estes passos:
No seu fornecedor de Git, faça o seguinte:
Azure DevOps Services
- Nos Azure DevOps Services, crie uma chave SSH privada.
- Carregue a chave SSH pública para o seu repositório dos Azure DevOps Services.
Bitbucket
- No Bitbucket, crie uma chave SSH privada.
- Carregue a chave SSH pública para o seu repositório do Bitbucket.
GitHub
- No GitHub, crie uma chave SSH privada.
- Carregue a chave pública de SSH do GitHub para o seu repositório do GitHub.
GitLab
- No GitLab, crie uma chave SSH privada.
- Carregue a chave pública de SSH do GitLab para o seu repositório do GitLab.
No Secret Manager, crie um segredo e defina a sua chave SSH privada como o valor secreto.
Conceda acesso ao segredo ao agente de serviço do Dataform predefinido.
O seu agente do serviço Dataform predefinido está no seguinte formato:
service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.comConceda a função
roles/secretmanager.secretAccessorao agente de serviço ou à conta de serviço.
Na Google Cloud consola, aceda à página Dataform.
Selecione o repositório do Dataform que quer associar ao repositório remoto.
Na página do repositório, clique em Definições > Associar ao Git.
No painel Link para repositório remoto, no campo URL do repositório Git remoto, introduza o URL do repositório Git remoto, que termina com
.git.O URL do repositório Git remoto tem de estar num 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 do ramo remoto predefinido, introduza o nome do ramo de desenvolvimento principal do repositório Git remoto.
No menu pendente Segredo, selecione o segredo para o repositório Git remoto.
No campo Valor da chave pública do anfitrião SSH, introduza a chave pública do anfitrião do seu fornecedor Git.
Azure DevOps Services
Para obter a chave de anfitrião pública dos Serviços Azure DevOps, execute o seguinte comando no terminal:
ssh-keyscan -t rsa ssh.dev.azure.comCopie uma das chaves geradas, omitindo
ssh.dev.azure.comdo início da linha. O valor que copiar tem de estar no seguinte formato:ALGORITHM BASE64_KEY_VALUEPor exemplo:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC7Hr1oTWqNqOlzGJOfGJ4NakVyIzf1rXYd4d7wo6jBlkLvCA4odBlL0mDUyZ0/QUfTTqeu+tm22gOsv+VrVTMk6vwRU75gY/y9ut5Mb3bR5BV58dKXyq9A9UeB5Cakehn5Zgm6x1mKoVyf+FFn26iYqXJRgzIZZcZ5V6hrE0Qg39kZm4az48o0AUbf6Sp4SLdvnuMa2sVNwHBboS7EJkm57XQPVU3/QpyNLHbWDdzwtrlS+ez30S3AdYhLKEOxAG8weOnyrtLJAUen9mTkol8oII1edf7mWWbWVf0nBmly21+nZcmCTISQBtdcyPaEno7fFQMDD26/s0lfKob4Kw8HVerifique se esta chave ainda está atualizada com os Azure DevOps Services.
Bitbucket
Para obter a chave de anfitrião pública do Bitbucket, execute o seguinte comando no terminal:
curl https://bitbucket.org/site/sshO comando devolve uma lista de chaves de anfitrião públicas. Escolha uma das chaves da lista e copie-a, omitindo
bitbucket.orgdo início da linha. O valor que copiar tem de estar no seguinte formato:ALGORITHM BASE64_KEY_VALUEPor exemplo:
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIazEu89wgQZ4bqs3d63QSMzYVa0MuJ2e2gKTKqu+UUOVerifique se esta chave ainda está atualizada com o Bitbucket.
GitHub
- Para obter a chave de anfitrião pública do GitHub, consulte o artigo Impressões digitais da chave SSH do GitHub.
A página contém uma lista de chaves de anfitrião públicas. Escolha um deles e copie-o, omitindo
github.comdo início da linha. O valor que copiar tem de estar no seguinte formato:ALGORITHM BASE64_KEY_VALUEPor exemplo:
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOMqqnkVzrm0SdG6UOoqKLsabgH5C9okWi0dh2l9GKJlVerifique se esta chave ainda está atualizada com o GitHub.
GitLab
- Para obter a chave de anfitrião pública do GitLab, consulte as entradas de SSH
known_hosts. A página contém uma lista de chaves de anfitrião públicas. Escolha um deles e copie-o, omitindo
gitlab.comdo início da linha. O valor que copiar tem de estar no seguinte formato:ALGORITHM BASE64_KEY_VALUEPor exemplo:
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAfuCHKVTjquxvt6CM6tdG4SLp1Btn/nOeHHE5UOzRdfVerifique se esta chave ainda está atualizada com o GitLab.
Clique em Associar.
Associe um repositório remoto através de HTTPS
Para associar um repositório remoto através de HTTPS, tem de criar um segredo do Secret Manager com um token de acesso pessoal e partilhar o segredo com o agente de serviço do Dataform predefinido.
Em seguida, o Dataform usa o token de acesso para iniciar sessão no seu fornecedor de Git para confirmar alterações em nome dos programadores. O Dataform faz estas confirmações através do endereço de email do programador, para que possa saber quem fez cada confirmação. Google Cloud
Para associar um repositório remoto a um repositório do Dataform através de HTTPS, siga estes passos:
No seu fornecedor de 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 ao repositório apenas para repositórios selecionados e, de seguida, selecione o repositório ao qual quer estabelecer ligação.
Conceder acesso de leitura e escrita aos conteúdos do repositório.
Defina um prazo de validade do token adequado às suas necessidades.
- Para um token de acesso pessoal clássico do GitHub, faça o seguinte:
Conceda ao Dataform a autorização
repo.Defina um prazo de validade do token adequado às suas necessidades.
Se a sua organização usar o Início de sessão único (SSO) de SAML, autorize o token.
GitLab
No GitLab, crie um token de acesso pessoal do GitLab.
Atribua o nome
dataformao token.O token de acesso pessoal do GitLab tem de ter o nome
dataform.Conceda ao Dataform as autorizações
api,read_repositoryewrite_repository.Defina um prazo de validade do token adequado às suas necessidades.
No Secret Manager, crie um segredo que contenha o token de acesso pessoal do seu repositório remoto.
Conceda acesso ao segredo ao agente de serviço do Dataform predefinido.
O seu agente do serviço Dataform predefinido está no seguinte formato:
service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com- Conceda a
roles/secretmanager.secretAccessorfunção ao agente de serviço.
- Conceda a
Na Google Cloud consola, aceda à página Dataform.
Selecione o repositório do Dataform que quer associar ao repositório remoto.
Na página do repositório, clique em Definições > Associar ao Git.
No painel Link para repositório remoto, no campo URL do repositório Git remoto, introduza o URL do repositório Git remoto, que termina com
.git.O URL do repositório Git remoto não pode conter nomes de utilizador nem palavras-passe.
No campo Nome do ramo remoto predefinido, introduza o nome do ramo de desenvolvimento principal do repositório Git remoto.
No menu pendente Segredo, selecione o segredo para o repositório Git remoto.
Clique em Associar.
Edite a associação ao repositório remoto
Para editar uma associação entre um repositório do Dataform e um repositório Git remoto, siga estes passos:
Na Google Cloud consola, aceda à página Dataform.
Clique no repositório que quer editar.
Na página do repositório, clique em Definições > Editar ligação Git.
No painel Estabelecer ligação ao repositório remoto, edite as definições de ligação.
Clique em Atualizar.
O que se segue?
Para saber mais sobre os repositórios do Dataform, consulte o artigo Crie um repositório.
Para criar um espaço de trabalho de desenvolvimento, consulte o artigo Crie um espaço de trabalho.
Para saber como resolver problemas com ligações de repositórios remotos, consulte o artigo Resolva problemas do Dataform.