Gerenciar seus projetos com controle de versão
Você pode usar o controle de versão para gerenciar o desenvolvimento de um projeto de dados e para acompanhar as alterações.
Ao trabalhar com controle de versão, você pode confirmar versões dos projetos durante a projeção. Isso permite que você reverta as alterações e veja as alterações entre duas versões do projeto.
Você também pode desenvolver seus projetos de dados usando uma estratégia de ramificação. Isso permite que você trabalhe em uma versão isolada do projeto em cada área de trabalho ou ramificação. A área de trabalho pode ser compartilhada por vários usuários. Em seguida, você pode mesclar suas alterações da área de trabalho em uma ramificação principal para implementar na produção.
O GitHub é usado como provedor para controle de versão.
Iniciando
-
Crie um usuário no GitHub que o locatário possa usar para acessar o GitHub. Isso pode já ter sido criado para você por um administrador.
O usuário deve ter os seguintes escopos:
-
repo
-
read:org
-
read:user
-
read:project
-
-
Você precisa de acesso de gravação nos repositórios que pretende alterar.
-
Você deve criar um token de acesso pessoal do GitHub (clássico). Não há suporte para tokens de acesso pessoal refinados.
Para obter mais informações, consulte a documentação do GitHub: Gerenciando seus tokens de acesso pessoal.
-
A organização é obrigatória na configuração do GitHub.
-
Você precisa da função Pode editar no espaço em que o projeto reside para executar ações de controle de versão.
-
Antes de começar a usar o controle de versão, você precisa definir uma configuração para se conectar ao GitHub com o usuário do GitHub que você criou.
-
Depois de configurar uma conexão com o GitHub, você pode conectar um projeto a um repositório.
Definindo a configuração para o GitHub
Todos os usuários que desejam trabalhar com controle de versão devem definir uma configuração para se conectar ao GitHub usando uma conta de usuário do GitHub.
Você pode configurar o GitHub em Projetos. Certifique-se de que você se preparou de acordo com o Iniciando.
-
Clique em e depois em Configuração do GitHub.
-
Configure a autenticação usando sua organização e o token de acesso pessoal do GitHub descrito em Iniciando.
-
Clique em OK.
Agora você pode conectar seus projetos a um repositório.
Conectando um projeto a um repositório
Você deve conectar um projeto a um repositório antes de começar a usar o controle de versão. Certifique-se de que você tenha configurado uma conexão com o GitHub.
-
Em Projetos, clique ... em um projeto e selecione Conectar ao controle de versão.
-
Selecione o repositório ao qual o projeto será associado.
-
Adicione um caminho de diretório base.
Se quiser se conectar a um projeto existente no GitHub, você deve usar o mesmo caminho.
-
Você pode optar por confirmar o projeto e enviar o projeto para o repositório remoto após a conexão. Insira uma mensagem de confirmação.
Se você não fizer confirmação e envio, uma ramificação principal será criada na área de trabalho, mas não no repositório remoto.
-
Clique em Conectar.
O projeto agora está conectado ao repositório selecionado. Isso é indicado na parte inferior do cartão do projeto com , o nome do repositório e a ramificação atual.
Quando você abrir o projeto, a linha de título agora conterá um menu do GitHub com opções de controle de versão. O nome do projeto também será anexado ao nome da ramificação atual.
Desenvolvendo um projeto com controle de versão
Você pode usar o controle de versão com diferentes abordagens:
-
Trabalhar diretamente na ramificação principal. Isso é adequado principalmente para um único desenvolvedor em um projeto que deseja acompanhar as alterações, mas também pode ser usado por um grupo de desenvolvedores que trabalham em sincronia.
-
Trabalhar com uma estratégia de ramificação, na qual vários desenvolvedores podem contribuir. Você também pode criar ramificações para isolar novos recursos ou alterações uns dos outros.
Fluxo de trabalho simplificado para um projeto de desenvolvedor único
Você pode trabalhar diretamente na ramificação principal de um projeto. Essa abordagem é mais simples e contém menos operações, mas ainda permite que você acompanhe as alterações. Se houver mais de um desenvolvedor, eles precisam ter o cuidado de estar em sincronia.
Quando você tiver feito alterações no projeto que deseja aplicar, basta fazer uma Confirmação e Envio.
Fluxo de trabalho para um projeto com vários desenvolvedores
Este fluxo de trabalho pode ser usado se houver mais de um desenvolvedor trabalhando em um projeto ou se você quiser isolar alterações. Isso envolve a criação de uma ramificação de desenvolvimento que pode ser compartilhada com outros usuários. Com esse fluxo de trabalho, os desenvolvedores podem acompanhar as alterações uns dos outros e decidir quando mesclar as alterações na ramificação principal.
-
Criar uma nova ramificação
Criar uma nova ramificação de desenvolvimento a partir da ramificação principal. Você pode compartilhar a ramificação com mais usuários.
-
Desenvolver
Faça todas as alterações necessárias no projeto.
Nota informativaOs esquemas e as conexões do banco de dados não são mantidos no controle de versão. -
Aplicar alterações remotas
Aplique alterações remotas de outra ramificação à sua área de trabalho para garantir que você esteja atualizado com as alterações da outra ramificação. Isso é útil para evitar ou atenuar mudanças conflitantes.
Se você tiver duas ramificações contendo alterações que possam entrar em conflito, uma solução alternativa é:
-
Faça alterações em ambas as áreas de trabalho.
-
Mescle as duas ramificações com a principal.
-
Aplique as alterações remotas novamente.
-
-
Confirmar e enviar
Confirme e envie suas alterações para a ramificação de desenvolvimento. Todos os objetos serão enviados, portanto, é uma boa ideia validar seu projeto antes de enviá-lo.
-
Abrir uma solicitação de pull e mesclar
Quando você estiver pronto para o desenvolvimento, é hora de mesclar as alterações da área de trabalho com a ramificação principal. A mescla de uma ramificação de desenvolvimento para a ramificação principal deve ser realizada no GitHub, abrindo uma solicitação de pull. Você pode configurar a aprovação para que a ramificação seja mesclada à ramificação principal. Para obter mais informações, consulte a documentação de solicitações de pull do GitHub
Criando uma nova ramificação
-
Em Projetos, clique em ... em um projeto e selecione Criar nova ramificação.
O projeto deve estar conectado ao controle de versão.
-
Selecione para criar uma ramificação a partir da ramificação principal.
-
Digite um nome para a ramificação.
-
Definir um prefixo a ser adicionado a todos os esquemas do projeto em Prefixo da ramificação para todos os esquemas. Isso permite que todos os esquemas sejam nomeados de forma exclusiva para evitar conflitos de nomes.
-
Clique em Criar
Uma nova ramificação é criada a partir da principal e passa por check-out do repositório. A ramificação contém uma nova versão do projeto, com todas as tarefas no status Novo. Ou seja, elas não são preparadas e não contêm dados.
Aplicando alterações remotas
Você pode aplicar as alterações do repositório remoto à sua área de trabalho. Podem ser alterações criadas fora do controle de versão integrado do Qlik Cloud, por exemplo, no GitHub ou por outras ferramentas. Isso ajuda a evitar conflitos quando você deseja confirmar e enviar suas alterações para a ramificação.
-
Em Projetos, clique em ... em um projeto e selecione Aplicar alterações remotas.
O diálogo Aplicar alterações remotas à área de trabalho será exibido se forem encontradas alterações.
-
Agora, você pode selecionar em quais tarefas aplicar as alterações e inspecionar as alterações. Para cada alteração, você pode selecionar a versão a ser usada, a versão remota ou a versão na sua área de trabalho.
-
Clique em Aplicar alterações remotas
Você deve adicionar conexões de origem e conexões de destino se as alterações incluírem novas tarefas de dados.
Confirmando e enviando
Você pode confirmar e enviar suas alterações para a ramificação. Como as alterações remotas que não são aplicadas à sua área de trabalho podem ser substituídas, você deve executar Aplicar alterações remotas antes de confirmar e enviar.
-
Em Projetos, clique em ... em um projeto e selecione Confirmar e enviar.
O diálogo Confirmar e enviar é exibido se forem encontradas alterações.
-
Adicione uma mensagem de confirmação que possa ajudá-lo a acompanhar o que foi alterado.
-
Clique em Confirmar e enviar
Excluindo uma ramificação
Você pode excluir uma ramificação quando tiver mesclado suas alterações na ramificação principal.
-
Em Projetos, clique em ... na ramificação a ser excluída e selecione Excluir ramificação.
Você também pode optar por excluir a ramificação remota no controle de versão.
Se houver alterações não confirmadas, você precisará confirmar que essas alterações serão perdidas ao excluir a ramificação.
Removendo o controle de versão de um projeto
Você pode desconectar seu projeto do controle de versão. Se houver ramificações existentes, elas deverão ser excluídas para que você possa desconectar o projeto.
-
Em Projetos, clique em ... no projeto a ser desconectado e selecione Desconectar do GitHub.
Compartilhando um projeto com outros espaços ou locatários
Você pode compartilhar uma versão de um projeto com um espaço diferente no mesmo locatário ou em outro locatário. Isso é útil quando você deseja criar dois ambientes, por exemplo, um para desenvolvimento e outro para produção.
-
Crie um novo projeto com o mesmo nome do projeto original.
Defina o mesmo caso de uso e tipo de plataforma. Você pode usar conexões diferentes.
-
Conecte o novo projeto ao mesmo repositório e caminho do diretório base do projeto original.
Nota informativaNão selecione a opção Confirmar e enviar. -
Se a conexão da plataforma apontar para o mesmo destino do projeto original, certifique-se de alterar o banco de dados ou os esquemas das tarefas de dados. Uma maneira de alterar os esquemas de todas as tarefas é alterar Prefixo para todos os esquemas nas configurações do projeto Metadados antes de aplicar as alterações remotas. Isso garante que todas as tarefas sejam criadas com esse prefixo.
-
Aplicar alterações remotas, selecionando todos os arquivos.
-
Adicione conexões de origem ausentes para todas as tarefas de aterrisagem.
Clique em Selecionar fonte de dados na tarefa de aterrisagem, selecione a conexão e clique em Salvar.
Nota informativaA conexão deve ser do mesmo tipo de fonte e apontar para tabelas com os mesmos nomes do projeto original. -
Adicione conexões de origem e destino ausentes para todas as tarefas de replicação.
Isso cria outra área de trabalho. Você pode fazer alterações no projeto em uma das áreas de trabalho e usar Aplicar alterações remotas para sincronizar a outra área de trabalho.
Considerações de segurança
Certifique-se de que você mantenha as configurações de segurança sincronizadas entre o Qlik Talend Data Integration e o GitHub.
-
No Qlik Talend Data Integration, as permissões são baseadas em espaços que podem conter vários projetos. No GitHub, as permissões são baseadas em repositórios que também podem conter vários projetos. A prática recomendada é alinhá-los e conectar todos os projetos em um espaço ao mesmo repositório.
-
Lembre-se de que o Qlik Talend Data Integration e o GitHub usam permissões e funções diferentes para os usuários.
Melhores práticas
Aqui estão algumas práticas recomendadas ao trabalhar com projetos que usam controle de versão.
-
Adicione um arquivo LEIAME que descreva o repositório no GitHub. Para obter mais informações, consulte Sobre LEIAMEs.
-
Confirme apenas projetos válidos e testados para execução.
Se você adicionar projetos com tarefas de Aterrisagem ou de Dados registrados que não tenham sido preparados ou transformados, as colunas de fonte de dados ainda não serão incluídas. As colunas de origem são adicionadas quando a tarefa é preparada e transformada.
-
Quando você cria uma ramificação para projetos de replicação, deve estar ciente de que as ramificações usam o mesmo destino por padrão. Isso significa que as tarefas em execução na ramificação podem substituir os dados da versão principal. Para evitar a perda de dados, altere as configurações de destino na ramificação para que não entrem em conflito com a versão principal.
-
Quando você cria uma ramificação, pode haver alterações remotas que ainda não foram aplicadas à área de trabalho. Aplique as alterações remotas antes ou depois de criar a ramificação, a menos que você queira descartar as alterações remotas.
Limitações
-
Não é possível desconectar ou excluir um projeto usando o controle de versão se houver ramificações. As ramificações devem ser excluídas antes que você possa desconectar ou excluir o projeto.
-
Não é possível renomear um projeto usando o controle de versão.
-
Quando você exclui um locatário, os objetos armazenados com controle de versão no GitHub não serão excluídos. Você precisa excluir esses objetos manualmente.
-
Se um repositório for usado por muitos projetos ou contiver muitos arquivos que não estão armazenados no Qlik Talend Data Integration, o desempenho poderá ser prejudicado.
-
Os esquemas e as conexões do banco de dados não são mantidos no controle de versão.
-
Tokens de acesso pessoal refinados do GitHub não são compatíveis.
-
Uma ramificação (exceto a principal) pode ser usada por apenas um projeto por repositório, mesmo que dois projetos estejam no mesmo repositório.
-
Não é possível aplicar alterações remotas de um projeto que usa uma plataforma de destino diferente. Por exemplo, se você fizer alterações em um projeto no Snowflake, não poderá aplicá-las a um projeto do Databricks.