A integração com git permite sincronizar códigos de jobs e configurações entre o console de desenvolvimento do Realtime Compute for Apache Flink e um repositório git remoto (GitHub, GitLab ou Gitee). Use esse recurso para migrar código de ambientes locais, colaborar entre equipes, aplicar fluxos de revisão de código e manter um histórico de alterações pronto para auditoria.
Casos de uso
|
Caso de uso |
Problema resolvido |
Abordagem recomendada |
|
Migração para a nuvem |
Envie código Flink SQL local para um cluster Flink na nuvem via git, sem exportação ou importação manual. |
Após obter o código, continue o desenvolvimento diretamente no console. A operação de pull não modifique o repositório git. |
|
Desenvolvimento colaborativo |
Compartilhe e controle versões de rascunhos de jobs e configurações. Crie branches de recursos (como |
Faça commit de todas as alterações de código SQL pelo git e use o console para pull e verificação. Gerencie as branches do git para manter a estabilidade da branch principal. |
|
Garantia de qualidade e governança de riscos |
Use pull requests para revisão de código. Obtenha o código no console para testes. Acompanhe alterações e identifique problemas pelo histórico de commits. |
Registre todas as mudanças de código SQL via git. Consulte o histórico de commits regularmente para garantir a rastreabilidade das alterações. |
|
Recuperação de desastres e conformidade |
O git oferece backup distribuído contra exclusão acidental de arquivos. Os logs do git fornecem um registro verificável de todas as alterações na lógica dos jobs para fins de conformidade e auditoria. |
Envie atualizações de código SQL para o git periodicamente. Recupere o código do git quando necessário. Use os logs do git para rastrear todas as operações essenciais. |
Pré-requisitos
Antes de começar, verifique se você tem:
Um workspace do Flink. Consulte Criar um workspace
Acesso a um repositório git remoto (GitHub, GitLab, Gitee ou Alibaba Cloud DevOps)
Acesso à internet ativado para seu workspace do Flink. Consulte Configurar acesso à internet
(Para repositórios com lista de permissões de IP) Endereço IP do seu workspace do Flink adicionado à lista de permissões do repositório
Limitações
|
Restrição |
Detalhe |
|
Tipo de job suportado |
Apenas SQL |
|
Permissões |
Para configure a integração com git ou edite uma configuração existente, você deve ser proprietário do namespace ou membro com permissões equivalentes |
|
Um repositório por namespace |
Cada namespace pode se vincular a apenas um repositório git e uma única branch. Para gerencie vários repositórios ou branches, crie namespaces adicionais |
|
Profundidade de pastas |
Máximo de sete níveis. Arquivos no nível oito ou mais profundos não podem ser obtidos via pull no Flink |
|
Sincronização de arquivos json |
Adicionar ou exclua arquivos |
|
Conflitos de merge |
Evite edite o mesmo arquivo no git e no console simultaneamente. Se ocorrerem edições concorrentes, o Flink executa uma verificação de conflitos durante o push ou pull e exige resolução manual |
Etapa 1: Associar um repositório git a um namespace
Crie uma conexão com a internet e teste a conectividade. Ignore esta etapa se já existir uma conexão com a internet.
-
Acesse o console de desenvolvimento.
Faça login no console de gerenciamento do Realtime Compute for Apache Flink.
Na coluna Actions do workspace desejado, clique em Console.
-
Configure o repositório git para o namespace.
No canto superior direito, clique em na foto de perfil e depois em User Profile.

Na coluna Actions do seu namespace, clique em Git Config.

-
Preencha a configuração do repositório git.

Campo
Descrição
Provider
Provedor git. Valores válidos: GitHub, GitLab, Gitee.
Repository URL
URL do seu repositório git. Deve começar com
HTTPouHTTPSe terminar com.git. Máximo de 64 caracteres.Username
Nome de usuário da conta git. A conta deve ter as permissões necessárias no repositório de destino.
Personal Access Token
Token de acesso pessoal (PAT) usado para autenticação.
Para instruções, consulte Gerenciando tokens de acesso pessoal (GitHub) ou Tokens de acesso pessoal (GitLab).
Branch
Branch a ser vinculada a este namespace. Cada namespace pode se vincular a apenas uma branch.
Clique em OK. O repositório git e a branch agora estão associados ao seu namespace.
Para mudar para um repositório ou branch diferente, clique em Git Config para desvincular o atual e vincular o novo.
Etapa 2: Enviar ou obter atualizações
|
Operação |
Quando usar |
|
Envia código SQL e alterações de configuração do console para o repositório git remoto. |
|
|
Traz código SQL ou configurações de jobs do repositório git remoto para o console. |
|
|
Corrige conflitos detectados durante um push ou pull quando o mesmo arquivo foi editado em ambos os locais. |
Enviar alterações
-
Na página Development > ETL, clique em Git - Push.

No campo Changes, revise adições (A), modificações (M) e exclusões (D). Clique em uma letra para visualize o diff.
-
Insira uma Commit Message e clique em Commit And Push. Se o push for rejeitado devido a conflitos, o sistema solicitará que você obtenha atualizações do repositório remoto primeiro. Após o pull, resolva quaisquer conflitos de merge e envie novamente.

-
Verifique os resultados no seu repositório git. Cada novo rascunho SQL enviado ao git gera dois arquivos com o mesmo nome, mas extensões diferentes. As atualizações modifique o arquivo
.sqlou.jsoncorrespondente.filename.sql— o código SQL.filename.json— as configurações do job, incluindo nome do rascunho, ID do rascunho, modo de execução e versão do mecanismo.

Obter alterações
-
Na página Development > ETL, clique em Git - Synchronize Changes para buscar o estado mais recente do git. O horário da última sincronização aparece à direita do ícone. Se não for recente, clique em no ícone para atualize. Se houver atualizações disponíveis no git, Update Available aparecerá ao lado do ícone de pull.


-
Clique em Git - Pull.
Se não houver conflitos, prossiga para a etapa 3 para visualize os resultados.
Se forem detectados conflitos, consulte Resolver conflitos de merge abaixo.

-
Quando a página exibir Successfully pulled from the remote repository, a página ETL será atualizada e mostrará os rascunhos SQL obtidos. Após o pull, o rascunho atual fica bloqueado pelo git. Para modifique ou exclua, clique em Click To Unlock.

Resolver conflitos de merge
O Realtime Compute for Apache Flink não suporta rollback geral. Antes de resolver conflitos, faça backup de dados críticos (por exemplo, copie example.sql localmente) e avalie o impacto operacional. Proceda com cautela, pois o manuseio incorreto de conflitos pode levar a consequências irreversíveis.
-
No arquivo em conflito, clique em Resolve.

-
Na página de resolução de conflitos, selecione o código conflitante e escolha a ação apropriada.
Botão
Ação
Accept Current Change
Mantém a versão original do código.
Accept Incoming Change
Aplica a alteração proveniente do repositório git remoto.
Accept Both Changes
Aplica tanto as alterações locais quanto as remotas.

Clique em Resolved.
Clique em Continue.
Próximos passos
Para operações comuns do git, como clonar repositórios, fazer commit de código e crie pull requests, consulte o guia de introdução do GitHub ou o tutorial de git do GitLab.
Para automatizar implantações com CI/CD, consulte o início rápido de CI/CD do GitLab ou o guia de início rápido do GitHub Actions.Início Rápido de CI/CD do GitLab ou Início Rápido do GitHub Actions