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

Esta página descreve como configurar elementos do seu projeto para integração com o Git e 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 mudar as opções.

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

Aqui, você pode acessar três seções:

Configuração

Na guia Configuration da página Projects Settings, é possível definir as seguintes configurações:

  • Nome: o nome do seu projeto. Para renomear o 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 usada como destino de mesclagem para ramificações de desenvolvimento do projeto. A ramificação Git precisa existir em 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 mudanças nele. A Qualidade do código tem as seguintes opções:

    • Corrigir erros e avisos antes de confirmar: os desenvolvedores do Looker só podem confirmar mudanças 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 da confirmação: os desenvolvedores do Looker só podem confirmar as mudanças depois de executar o LookML Validator e resolver todos os erros. Os desenvolvedores podem confirmar as alterações 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 mudanças sem executar o LookML Validator e independentemente da existência de erros ou avisos no LookML. Essa opção não é recomendada porque pode resultar em um LookML que não funciona ou que produz resultados incorretos.

  • Exigir que os testes de dados sejam aprovados antes de implantar este projeto na produção: se o projeto LookML tiver um ou mais parâmetros test, essa opção exigirá 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 permitirá que o desenvolvedor implante as alterações na produção. Consulte a página de documentação do parâmetro test para saber como configurar testes de dados no seu projeto do LookML. Consulte a página de documentação Como usar o controle de versões e a implantação para encontrar informações sobre como executar testes de dados no seu projeto. Por padrão, a opção Exigir testes de dados para passar antes de implantar este projeto na produção fica ativada para novos projetos do LookML.

  • Integração Git: especifica os níveis de integração com seu provedor Git. Consulte as opções de integração do Git (link em inglês) para mais detalhes.

  • Ativar o modo de implantação avançado: 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 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 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 a conexão do Git preserva o histórico do Git da ramificação principal. Isso também preserva o histórico da ramificação pessoal de cada desenvolvedor do Looker após a sincronização do modo de desenvolvedor. Para preservar o histórico de todas as ramificações, consulte a página de práticas recomendadas 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.

  • Resumo do Git: essa seção mostra a configuração do Git do projeto e as informações da ramificação 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. É possível usar o campo Git Production Branch Name para especificar qual ramificação do repositório do Git o Looker deve usar como a ramificação de 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 consultar o fluxo de trabalho padrão do Git e outras opções para implementações avançadas do Git.

Em projetos existentes, faça o seguinte antes de alterar o nome da ramificação de produção do Git:

  • Peça a todos os desenvolvedores no projeto do Looker para confirmar as mudanças e mesclar as ramificações com a ramificação de produção existente. Depois, 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.
  • Se o projeto usar solicitações de envio integradas, finalize e mescle todas as solicitações de envio abertas, conforme apropriado.
  • Realize as preparações necessárias no lado do provedor Git, como criar uma nova ramificação no seu repositório, renomear a ramificação Git padrão atual ou realizar as ações necessárias para preparar a ramificação para que o Looker possa usá-la como destino de mesclagem. No mínimo, você precisa verificar se a ramificação que você quer usar já existe no repositório Git.

Para mudar 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 exibir a página Project Settings. A guia Configuração será aberta por padrão.
  2. No campo Git Production Branch Name, insira o nome da ramificação do Git que você quer usar como o branch de produção do projeto do Looker.
  3. Clique no botão Save Project Configuration para salvar a alteração.

Importar credenciais

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

Gerenciamento de branches

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

Opções de integração do Git

Depois que você configurar a conexão do 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 a implantação.

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

  • Desativado: o Looker não mostra links externos para a interface do seu provedor Git.
  • Mostrar links: o Looker vai fornecer links externos para a interface do seu provedor Git para que os desenvolvedores possam ver o projeto na interface do provedor Git. O Looker também vai fornecer links para cada arquivo de projeto para que os desenvolvedores possam consultar o histórico do arquivo e informações sobre a culpa do Git na interface do provedor Git. Consulte a seção Como integrar links externos ao 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 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 informações sobre como fazer essa configuração.
  • Solicitações de envio obrigatórias: é o mesmo que Solicitações de envio recomendadas, exceto pelo fato de que os desenvolvedores do LookML precisam abrir uma solicitação de envio para enviar mudanças no projeto. Consulte a seção Como integrar solicitações de envio para seu projeto para informações sobre como fazer essa configuração.

Para salvar suas configurações de integração do Git, clique em Salvar configuração do projeto na seção Implantação.

Se você tiver ativado qualquer uma das opções extras de integração do Git (Mostrar links, Solicitações de envio recomendadas ou Solicitações de envio necessárias), o Looker vai 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 visualizar esses links externos, seus desenvolvedores devem ter uma conta no provedor Git e acesso ao repositório Git do projeto.

No menu de três pontos Opções do arquivo para cada um dos arquivos LookML, o Looker fornece links para o site do provedor Git para visualizar o arquivo, ver as informações de culpados do Git e o histórico de confirmações do arquivo.

No painel Git Actions, você também pode usar a opção View Project on <Git provider> para abrir os arquivos do projeto no site do provedor 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 mudanças na ramificação de desenvolvimento e mesclam a ramificação de desenvolvimento na ramificação de produção. Depois, quando você implanta no ambiente do Looker, o Looker usa a confirmação 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 consultar 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, é possível configurar seu projeto com a opção Solicitações de envio recomendadas ou Solicitações de envio necessárias:

  • Solicitações de envio recomendadas: depois que um desenvolvedor confirma as mudanças 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 para mesclar a ramificação de desenvolvimento na ramificação de produção. O desenvolvedor pode abrir uma solicitação de envio para que outros desenvolvedores do Looker revisem e aprovem na interface da Web do provedor Git. Em vez disso, o desenvolvedor pode usar a opção Deploy to Production (Implantar na produção) 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 mudanças 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 na ramificação de produção. Em seguida, outros desenvolvedores do Looker podem analisar e aprovar a solicitação de envio na interface da Web do provedor Git.

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

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

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

  • Para abrir solicitações de envio, os desenvolvedores precisam ter uma conta no 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, você precisará adicionar à lista de permissões o intervalo de endereços IP de onde o provedor Git faz solicitações de saída para integrar solicitações de envio a projetos 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çado, não será necessário configurar um webhook na seção Como configurar seu projeto com solicitações de envio integradas, já que o modo de implantação avançado separa as funções de mesclagem e implantação.

  • Se um desenvolvedor do Looker tiver emitido uma solicitação de envio que você quer reverter, consulte a postagem na comunidade Como reverter solicitações de envio do Looker pelo GitHub para mais informações.

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

  • O Looker mescla as mudanças de uma ramificação de desenvolvedor do Looker com a ramificação de produção usando o método de mesclagem merge commit. Ao usar a interface do provedor Git, confira se os desenvolvedores não usam mesclagem de squash nem mesclagem de rebase. Consulte a seção Merge Options in the Git Provider's Interface para ver mais informações.

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 projeto, selecione Project Settings no menu de ícones do ambiente de desenvolvimento integrado do Looker.
  2. Na seção Integração Git da guia Configuração, selecione Solicitações de envio recomendadas ou Solicitações de envio necessárias.
  3. Se você quiser configurar um webhook de implantação automática na interface do provedor Git, copie as informações do webhook e cole-as em um arquivo de texto. Se o projeto estiver configurado para usar o modo de implantação avançado, pule esta etapa. Também é possível decidir depois e voltar às configurações do projeto para acessar as informações do webhook.
  4. Também é possível configurar um secret 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-o em um arquivo de texto para usar quando você adicionar o webhook à interface do provedor Git. Também é possível decidir depois 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 Save Project Configuration.

Agora, sempre que um desenvolvedor do Looker confirmar mudanças no projeto, o ambiente de desenvolvimento integrado do Looker vai mostrar o botão Abrir solicitação de envio. O botão abre uma nova guia do navegador diretamente para a nova página de solicitação de envio no site do provedor do 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 confirmações mais recentes mescladas na 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 confirmações serão implantadas, ative o modo de implantação avançado. Consulte a página de documentação Modo de implantação avançado para informações sobre como ativar e gerenciar esse modo.

Adicionar um webhook ao provedor Git

Para projetos do Looker ativados para solicitações de envio, é possível configurar um webhook de implantação na interface do seu provedor Git. Esse webhook vai acionar o Looker para implantar a confirmação 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 convém configurar um webhook de implantação automático se o projeto estiver configurado para usar o modo de implantação avançado. O modo de implantação avançado permite selecionar a confirmação 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, acesse as configurações do projeto no Looker clicando no ícone Configurações no menu de ícones do ambiente de desenvolvimento integrado do Looker. Em seguida, copie o webhook da seção Integração Git.

O webhook tem 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 for example.looker.com e o nome do projeto for e_faa, o webhook vai ficar 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 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.

Assim que tiver o URL e o secret do webhook de implantação, você poderá inseri-los na interface do seu provedor Git. Se o provedor Git for o GitHub, siga estas etapas:

  1. Navegue até as configurações do repositório do projeto no seu 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. Também é possível adicionar um secret de implantação do webhook que autentique as integrações Git do projeto com o provedor Git. Copie o secret de implantação das configurações do projeto LookML e cole-o no campo Secret da 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ê quer acionar este webhook?.
  6. Clique em Add webhook.

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

Quando as solicitações de envio estão ativadas no projeto LookML, e os webhooks de implantação não são automatizados, à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 estão ativadas no repositório
  • Quando o LookML tiver sido 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 que você executar o URL do webhook de implantação, uma página da Web em branco será exibida com uma mensagem 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"}
    

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

Como extrair de um repositório Git remoto para webhooks com secrets de implantação

Se o projeto LookML também exigir um secret de implantação de webhook para enviar alterações da ramificação principal para a 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. Não se esqueça de substituir 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 seu 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 para o ecommerce_project na instância do 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

Se o projeto do Looker estiver integrado às solicitações de envio, os desenvolvedores vão usar a interface do provedor Git para enviar solicitações de envio e mesclar mudanças na ramificação de produção.

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

O Looker não é compatível com mesclagem de squash ou mesclagem de rebase. Por isso, seus desenvolvedores precisam evitar o uso dessas opções. Se possível, a prática recomendada é desativar essas opções no 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 a integração do Git, use a opção Ver projeto no Git no menu 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 Mesclar 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.

Após desativar as opções de mesclagem, elas não estarão disponíveis no GitHub quando os desenvolvedores mesclarem uma ramificação no repositório.