Como definir as configurações de controle de versão do projeto

Esta página descreve como configurar elementos do seu projeto para serem integrados ao Git para controle de versões.

Configurações do projeto

Você precisa ser um administrador do Looker para mudar as opções na página Configurações do projeto. Os desenvolvedores do Looker que não são administradores podem visualizar a página Configurações do projeto, mas não podem alterar as opções nela.

A página Configurações do projeto tem opções de configuração para seu projeto. Para isso, abra seu projeto e selecione Configurações no menu do ícone do ambiente de desenvolvimento integrado do Looker.

É possível acessar três seções:

Configuração

Na guia Configuração da página Configurações de projetos, é possível definir as seguintes configurações:

  • Nome: o nome do seu projeto. Para renomear seu projeto, edite o texto e clique no botão Save Project Configuration. Consulte a página de documentação Como acessar e editar informações do projeto para saber mais.
  • Git Production Branch Name: especifique o nome da ramificação do Git a ser usado como destino da mesclagem das ramificações de desenvolvimento do projeto. A ramificação Git precisa existir no seu repositório Git. Consulte a seção Nome da ramificação de produção do Git nesta página para mais informações.

  • Qualidade do código: determina se os desenvolvedores precisam executar o LookML Validator no projeto antes de confirmar qualquer alteração. A Qualidade do código tem as seguintes opções:

    • Exigir a correção de erros e avisos antes de confirmar: os desenvolvedores do Looker só podem confirmar alterações depois de executar o LookML Validator e resolver todos os erros e avisos. Essa é a configuração recomendada.
    • Exigir a correção de erros apenas antes de confirmar: os desenvolvedores do Looker só podem confirmar alterações depois de executar o LookML Validator e resolver todos os erros. Os desenvolvedores podem confirmar mudanças quando houver avisos. Embora não seja recomendada, essa opção pode ser útil, por exemplo, se novos avisos forem introduzidos no LookML funcional após uma atualização do Looker.
    • Permitir a confirmação de código corrompido: os desenvolvedores do Looker podem confirmar alterações sem executar o validador do LookML e independentemente de haver erros ou avisos no LookML. Essa opção não é recomendada porque o LookML pode não funcionar ou produzir resultados incorretos.

  • Exigir que os testes de dados sejam aprovados antes de implantar este projeto na produção: se o projeto do LookML tiver um ou mais parâmetros test, essa opção exige que os desenvolvedores executem os testes de dados antes de implantar qualquer alteração. Se os testes de dados forem aprovados, o ambiente de desenvolvimento integrado vai permitir que o desenvolvedor implante mudanças na produção. Consulte a página de documentação do parâmetro test para saber como configurar testes de dados no projeto do LookML. Consulte a página de documentação Como usar o controle de versões e a implantação para saber como executar testes de dados no projeto. Por padrão, a opção Exigir que os testes de dados sejam aprovados antes de implantar este projeto na produção fica ativada em novos projetos do LookML.

  • Integração do Git: especifica os níveis de integração com seu provedor Git. Consulte as opções de integração do Git para ver mais detalhes.

  • Ativar o modo de implantação avançada: uma configuração que, quando ativada, permite que os usuários implantem qualquer SHA, tag ou ramificação na produção. Consulte a página de documentação do Modo de implantação avançado para mais informações sobre como usar o controle de versões com o Modo de implantação avançado ativado.

  • Chave secreta de implantação de webhook: configura a autenticação para implantar alterações na produção na sua instância do Looker. Consulte a página de documentação Como configurar o secret de implantação do webhook para mais detalhes.

  • Reset Git Connection: esse botão abre a janela Configure Git, em que você pode atualizar as configurações de conexão do repositório Git.

    Redefinir sua conexão do Git preservar o histórico do Git da ramificação principal. Ele também vai preservar o histórico da ramificação pessoal de cada desenvolvedor do Looker depois que eles sincronizarem o modo de desenvolvedor. Para preservar o histórico de todas as ramificações, consulte a página de práticas recomendadas em Como migrar para um novo repositório Git.

  • Excluir projeto: esse botão exclui o projeto, removendo todo o LookML dele em todos os ambientes de desenvolvimento e produção na instância do Looker.

  • Git Summary: esta seção mostra a configuração do Git do projeto e as informações da ramificação do Git do usuário atual.

Nome da ramificação de produção do Git

Com a integração padrão do Looker Git, todos os desenvolvedores do Looker mesclam as mudanças em uma ramificação chamada main. Use o campo Git Production Branch Name (nome da ramificação de produção do Git) para especificar qual ramificação do seu repositório Git será usada pelo Looker como destino em que as ramificações dos desenvolvedores do Looker serão mescladas. Consulte a página de documentação Como usar o controle de versões e a implantação para ver o fluxo de trabalho padrão do Git e outras opções para implementações avançadas do Git.

Para projetos existentes, considere fazer o seguinte antes de alterar o nome da ramificação de produção do Git:

  • Peça a todos os desenvolvedores do projeto do Looker para fazer commit das alterações e mesclar as ramificações com a ramificação de produção existente. Em seguida, pause o trabalho até que o nome da ramificação de produção do Git seja atualizado e salvo na configuração do projeto do Looker.
  • Caso seu projeto use solicitações de envio integradas, finalize e mescle todas as solicitações de envio abertas, conforme apropriado.
  • Faça todos os preparativos necessários no provedor Git, como criar uma nova ramificação no repositório, renomear a ramificação padrão atual do Git ou qualquer ação necessária para preparar a ramificação para que o Looker possa usá-la como destino para mesclagem. No mínimo, você precisa verificar se a ramificação que quer usar já existe no seu repositório Git.

Para alterar a ramificação do Git que seu projeto usa como destino de mesclagem para ramificações de desenvolvimento:

  1. Selecione o ícone Settings no menu de ícones do ambiente de desenvolvimento integrado do Looker para mostrar a página Configurações do projeto. A guia Configuração será aberta por padrão.
  2. No campo Nome da ramificação de produção do Git, insira o nome da ramificação do Git que você quer usar como a ramificação de produção do projeto do Looker.
  3. Clique no botão Save Project Configuration para salvar as alterações.

Importar credenciais

A seção Importar credenciais é onde você pode gerenciar credenciais de autenticação para repositórios remotos particulares. Consulte a página de documentação Como importar arquivos de outros projetos para mais detalhes.

Gerenciamento de branches

Na guia Branch Management da página Projects Settings, é possível ver todas as ramificações Git associadas ao projeto. Consulte a página de documentação Como usar o controle de versões e a implantação para mais detalhes.

Opções de integração do Git

Depois de configurar a conexão Git, o Looker vai usar o provedor Git para gerenciar os arquivos de origem do LookML, conforme descrito na página de documentação Como usar o controle de versões e implantação.

Se você é um administrador do Looker, pode configurar outras opções de integração do Looker com o Git usando as opções de Integração do Git na guia Configuração da página Configurações do projeto:

  • Desativado: o Looker não vai mostrar links externos para a interface do provedor do Git.
  • Mostrar links: o Looker fornecerá links externos para a interface do seu provedor Git para que os desenvolvedores possam visualizar o projeto na interface do provedor Git. O Looker também vai fornecer links para cada arquivo de projeto. Assim, os desenvolvedores poderão conferir o histórico do arquivo e as informações de culpa do Git na interface do provedor do Git. Consulte a seção Como integrar links externos ao seu provedor Git para ver informações sobre os links.
  • Solicitações de envio recomendadas: além de fornecer links externos para a interface do seu provedor Git, o Looker vai dar aos desenvolvedores a opção de enviar uma solicitação de envio para que outro desenvolvedor possa aprovar as mudanças antes de adicioná-las ao projeto. Consulte a seção Como integrar solicitações de envio para seu projeto para ver informações sobre como fazer essa configuração.
  • Solicitações de envio obrigatórias: o mesmo que Solicitações de envio recomendadas, exceto que os desenvolvedores do LookML precisam abrir uma solicitação de envio para enviar alterações ao projeto. Consulte a seção Como integrar solicitações de envio para seu projeto para ver informações sobre como fazer essa configuração.

Para salvar suas configurações de integração com o Git, clique em Save Project Configuration na seção Deployment.

Se você tiver ativado alguma das opções extras de integração do Git (Mostrar links, Solicitações de envio recomendadas ou Solicitações de envio obrigatórias), o Looker fornecerá links externos para a interface do seu provedor Git. Esses links externos abrem uma nova guia do navegador para o site do seu provedor Git.

Para acessar esses links externos, seus desenvolvedores precisam ter uma conta no seu provedor Git e ter acesso ao repositório Git do projeto.

No menu de três pontos File Options de cada um dos arquivos LookML, o Looker fornece links para o site do provedor Git. Nele, é possível ver o arquivo, as informações de culpa do Git do arquivo e o histórico de commit do arquivo.

No painel Git Actions, também é possível usar a opção View Project on <Git provider> para abrir os arquivos do projeto no site do provedor do Git.

Como integrar solicitações de envio para seu projeto

Com a integração padrão do Looker Git, os desenvolvedores do Looker confirmam as alterações na ramificação de desenvolvimento e depois mesclam a ramificação de desenvolvimento na ramificação de produção. Depois, ao implantar no ambiente do Looker, o Looker usa o commit mais recente na ramificação de produção. Consulte a página de documentação Como usar o controle de versões e a implantação para ver o fluxo de trabalho padrão do Git e outras opções para implementações avançadas do Git.

Em vez de permitir que os desenvolvedores do Looker mesclem a ramificação de desenvolvimento na ramificação de produção do Looker, configure seu projeto com as opções Solicitações de envio recomendadas ou Solicitações de envio necessárias:

  • Solicitações de envio recomendadas: depois que um desenvolvedor confirma as alterações na ramificação de desenvolvimento, o botão Git no ambiente de desenvolvimento integrado do Looker solicita que o desenvolvedor abra uma solicitação de envio para mesclar a ramificação de desenvolvimento com a ramificação de produção. O desenvolvedor pode abrir uma solicitação de envio para outros desenvolvedores do Looker analisarem e aprovarem na interface da Web do provedor Git. Como alternativa, o desenvolvedor pode usar a opção Deploy to Production do painel "Git Actions" para pular a criação de uma solicitação de envio e implantar as alterações na produção. A opção Implantar na produção não estará disponível se o projeto estiver ativado com o modo de implantação avançado.
  • Solicitações de envio necessárias: depois que um desenvolvedor confirma as alterações na ramificação de desenvolvimento, o botão do Git no ambiente de desenvolvimento integrado do Looker solicita que o desenvolvedor abra uma solicitação de envio. O desenvolvedor precisa abrir uma solicitação de envio para mesclar a ramificação de desenvolvimento com a de produção. Depois, outros desenvolvedores do Looker podem analisar e aprovar a solicitação de envio pela interface da Web do provedor Git.

O Looker oferece suporte à integração de solicitação de envio para os seguintes provedores do Git:

  • GitHub
  • GitLab
  • Bitbucket Cloud
  • Bitbucket Server (anteriormente "Stash")

Confira outras observações sobre o uso de solicitações de envio com o Looker:

  • Para abrir solicitações de envio, seus desenvolvedores precisam ter uma conta no seu provedor Git e acesso ao repositório Git do projeto.

  • Se o recurso Lista de permissões de IP estiver ativado na sua instância, será necessário adicionar o intervalo de endereços IP de onde seu provedor Git faz solicitações de saída para integrar solicitações de envio a qualquer projeto do LookML. Por exemplo, os endereços IP atuais do GitHub estão listados no registro de alterações do GitHub. Os IPs estão sujeitos a alterações e serão diferentes para outros provedores Git.

  • Se você tiver ativado o modo de implantação avançada, não será necessário configurar um webhook na seção Como configurar seu projeto com solicitações de envio integradas, já que esse modo separa as funções de mesclagem e implantação.

  • Se um desenvolvedor do Looker tiver enviado uma solicitação de envio e você quiser reverter, consulte a postagem na Comunidade Como reverter solicitações de envio do Looker via GitHub (em inglês) para mais informações.

  • As solicitações de envio do Git possibilitam o uso de uma instância de teste para o Looker, para que você tenha uma instância de teste e uma de produção com solicitações de envio ativadas na instância de preparo. Todo o desenvolvimento e a revisão de código podem ser feitos no ambiente de teste, e o código revisado pode ser implantado na instância de produção. Para configurar isso, consulte a postagem na Comunidade Fluxo de trabalho do Git usando um repositório em várias instâncias: desenvolvimento, preparo e produção.

  • O Looker mescla as alterações de uma ramificação de desenvolvedor do Looker na ramificação de produção usando o método de confirmação de mesclagem. Ao usar a interface do seu provedor Git, confira se os desenvolvedores não estão usando a mesclagem squash nem a mesclagem de realocação. Consulte a seção Opções de mesclagem na interface do provedor Git para saber mais.

Como configurar seu projeto com solicitações de envio integradas

Para configurar seu projeto do Looker com solicitações de envio do Git:

  1. No seu projeto, selecione Configurações do projeto no menu de ícones do Looker IDE.
  2. Na seção Integração do Git da guia Configuração, selecione Solicitações de envio recomendadas ou Solicitações de envio necessárias.
  3. Opcionalmente, se você quiser configurar um webhook de implantação automática na interface do provedor Git, copie as informações do webhook e cole em um arquivo de texto. Se o projeto estiver configurado para usar o modo de implantação avançado, pule esta etapa. Você também pode decidir mais tarde e voltar às configurações do projeto para ver as informações do webhook.
  4. Também é possível configurar um webhook de implantação de webhook para autenticar um webhook de implantação automática do seu provedor Git ou um webhook de modo de implantação avançado. Para criar um secret do webhook, clique em Definir secret do webhook. Copie o secret de implantação e cole em um arquivo de texto para usar quando você adicionar o webhook à interface do provedor Git. Também é possível decidir mais tarde e voltar às configurações do projeto para adicionar um secret de implantação. Consulte a página de documentação Como configurar o secret de implantação do webhook para mais informações.
  5. Clique em Salvar configuração do projeto.

Agora, sempre que um desenvolvedor do Looker confirmar mudanças no seu projeto, o ambiente de desenvolvimento integrado vai mostrar o botão Abrir solicitação de envio. O botão abre uma nova guia do navegador diretamente na nova página de solicitação de envio no site do seu provedor Git.

Depois de configurar seu projeto do Looker para usar solicitações de envio, siga um destes procedimentos para configurar como as confirmações são implantadas no ambiente de produção:

  • Para implantar automaticamente as últimas confirmações que foram mescladas na sua ramificação de produção, use a interface do seu provedor Git para adicionar um webhook, conforme descrito na próxima seção desta página.
  • Para especificar manualmente quais ramificações ou commits são implantados, ative o modo de implantação avançado. Consulte a página de documentação do Modo de implantação avançado para informações sobre como ativar e gerenciar o modo de implantação avançado.

Como adicionar um webhook ao seu provedor Git

Para projetos do Looker com solicitações de envio ativadas, configure um webhook de implantação na interface do seu provedor Git. Esse webhook acionará o Looker para implantar o commit mais recente da ramificação de produção sempre que você mesclar uma solicitação de envio na interface do provedor Git.

Na maioria dos casos, não é recomendável configurar um webhook de implantação automática se o projeto estiver configurado para usar o modo de implantação avançado. O modo de implantação avançada permite selecionar o commit e a ramificação que você quer implantar. Portanto, na maioria dos casos, configurar um webhook de implantação automática anularia os recursos do modo de implantação avançado.

Para adicionar um webhook de implantação automática à interface do seu provedor Git, primeiro acesse as configurações do projeto no Looker clicando no ícone Configurações no menu de ícones do ambiente de desenvolvimento integrado do Looker do projeto. Em seguida, copie o webhook da seção Integração do Git.

O webhook assume o formato <instance_url>/webhooks/projects/<project_name>/deploy.

Substitua <instance_url> pelo URL da sua instância do Looker. Por exemplo, se o URL da instância do Looker fosse example.looker.com e o nome do projeto fosse e_faa, o webhook ficaria assim:

https://example.looker.com/webhooks/projects/e_faa/deploy

Nas configurações do projeto do Looker, também é possível receber um secret de implantação do webhook para autenticar as integrações do Git do projeto com o provedor Git. Consulte a página de documentação Como configurar o secret de implantação do webhook para mais informações.

Depois de ter o URL do webhook e o secret do webhook de implantação, você pode inseri-los na interface do provedor do Git. Se o provedor Git for o GitHub, siga estas etapas:

  1. Navegue até as configurações do repositório do projeto no repositório do GitHub.
  2. Nas configurações do repositório, clique em Webhooks. Clique em Add Webhook para abrir a janela Add Webhook.
  3. No campo Payload URL, cole as informações do webhook que você copiou da seção Git Integration no Looker.
  4. Se quiser, adicione um secret de implantação do webhook que autentique as integrações do Git do projeto com o provedor do Git. Copie o secret de implantação das configurações do projeto do LookML e cole-o no campo Segredo na interface do provedor Git. Consulte a página de documentação Como configurar o secret de implantação do webhook para mais informações.
  5. Selecione a opção Apenas o evento de push no campo Quais eventos você gostaria de acionar este webhook?.
  6. Clique em Add webhook.

Como usar um webhook de implantação para realizar pull de um repositório Git remoto

Quando as solicitações de envio estão ativadas para o projeto do LookML, e a implantação de webhooks não é automatizada, às vezes, o LookML que aparece no modo de produção do Looker não corresponde ao LookML na ramificação principal do repositório Git. Isso pode ocorrer nas seguintes situações:

  • Quando as solicitações de envio são ativadas para o repositório
  • Quando o LookML foi editado fora do ambiente de desenvolvimento do Looker, como:
    • No próprio repositório Git
    • Em outra instância do Looker, como uma instância de teste

É possível sincronizar a ramificação de produção do Looker com a ramificação principal do repositório usando um webhook de implantação:

  1. Abra uma nova guia do navegador e digite o seguinte URL, substituindo <instance_url> pelo URL da instância do Looker e <project_name> pelo nome do projeto do LookML:

    <instance_url>/webhooks/projects/<project name>/deploy
    
  2. Depois de executar o URL do webhook de implantação, uma página da Web em branco vai exibir uma mensagem de sucesso semelhante a esta:

    {"operations":[{"error":false,"error_code":0,"command":"Checkout Branch #\u003cLooker::GitBranch:0x5798672b\u003e","node_id":728,"results":["Success"]},{"error":false,"error_code":0,"command":"jgit revert_repo","node_id":728,"results":["Success"]}],"new_head":"05f772af48709fc2799fefe408e3fdd895a63284","old_head":"77412cad9fd7ed3eed1627afa201fdf7dcb97dd1"}
    

O Modo de produção no Looker foi atualizado para refletir a ramificação principal remota do Git. Sua ramificação de desenvolvedor pessoal e as ramificações compartilhadas não serão afetadas.

Extração de webhooks com secrets de implantação de um repositório Git remoto

Se o projeto do LookML também exigir um secret de implantação de webhook para enviar alterações da ramificação principal para a ramificação de produção, você receberá um dos seguintes erros ao sincronizar a ramificação de produção com a ramificação principal do repositório usando o método descrito na seção anterior, Como usar um webhook de implantação para extrair de um repositório Git remoto:

{"error":"Uh oh! Something went wrong."}

Ou:

{"error":"Not found."}

Em vez de usar o webhook de implantação, execute o comando cURL a seguir no terminal com o secret do webhook. Substitua os seguintes campos:

  • Substitua <instance_URL> pelo URL da instância do Looker.
  • Substitua <deploy_secret> pelo secret de implantação do projeto.
  • Substitua <project_name> pelo nome do projeto do LookML.
curl -i -X POST -H "X-Looker-Deploy-Secret:<deploy_secret>" https://<instance_url>/webhooks/projects/<project_name>/deploy

Por exemplo, se você sincronizar uma ramificação de produção do ecommerce_project na instância Brettcase com a ramificação principal do repositório:

curl -i -X POST -H "X-Looker-Deploy-Secret:123123123secretgoeshere123123123" https://brettcase.looker.com/webhooks/projects/ecommerce_project/deploy

Opções de mesclagem na interface do provedor Git

Caso seu projeto do Looker seja integrado a solicitações de envio, os desenvolvedores vão usar a interface do provedor Git para enviar solicitações de envio e mesclar alterações na ramificação de produção.

O Looker oferece suporte ao método de confirmação de mesclagem (link em inglês), que mescla as mudanças de uma ramificação de desenvolvimento para a de produção. No entanto, a interface do seu provedor Git pode mostrar outras opções de mesclagem, como Squash e mesclagem ou Rebase e mesclagem.

O Looker não é compatível com a mesclagem de squash ou a combinação de realocação. Por isso, seus desenvolvedores devem evitar usar essas opções. Se possível, a prática recomendada é desativar essas opções para seu repositório. Para desativar essas opções em um repositório do GitHub, siga estas etapas:

  1. Navegue até a guia Configurações para acessar as configurações do repositório do seu projeto no GitHub.

    DICA: para projetos configurados com integração do Git, você pode usar a opção Ver projeto no Git no menu do Git do projeto no Looker.

  2. Nas configurações do repositório, clique em Opções no menu de navegação.

  3. Vá para a seção Botão de mesclagem e deixe marcada apenas a opção Permitir confirmações de mesclagem. Desative as opções Permitir mesclagem de squash e Permitir mesclagem de realocação.

Depois de desativar as opções de mesclagem, elas não ficam disponíveis no GitHub quando os desenvolvedores mesclam uma ramificação no repositório.