Ajustar as configurações de controle de versões do projeto

Nesta página, descrevemos 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 alterar as opções na página Configurações do projeto. Os desenvolvedores do Looker que não são administradores podem ver 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 ver essa página, abra seu projeto e selecione o ícone Configurações no menu de ícones à esquerda:

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

Configuração

Na guia Configuração da página Configurações do projeto, você pode definir as seguintes definiçõ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 Acessar e editar informações do projeto para mais detalhes.
  • Git Production Branch Name: especifique o nome da ramificação do Git para usar como destino de mesclagem para ramificações de desenvolvimento do seu projeto. A ramificação do Git precisa existir no seu repositório do Git. Consulte a seção Nome da ramificação de produção do Git nesta página para ver mais informações.

  • Qualidade do código: determina se os desenvolvedores precisam executar o LookML Validator no projeto antes de confirmar mudanças. 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 podem confirmar as alterações somente depois de executar o LookML Validator e resolver todos os erros e avisos. Essa é a configuração recomendada.
    • Só é necessário corrigir erros antes de confirmar: os desenvolvedores do Looker podem confirmar as alterações somente depois de executar o LookML Validator e resolver todos os erros. Os desenvolvedores podem confirmar mudanças quando há avisos. Embora não seja recomendado, essa opção pode ser útil, por exemplo, se novos avisos forem introduzidos para funcionar o LookML após uma atualização do Looker.
    • Permitir a confirmação de códigos corrompidos: os desenvolvedores do Looker podem confirmar alterações sem executar o LookML Validator e manter ou não os erros ou avisos no LookML. Esta 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: os desenvolvedores precisam executar 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 alterações na produção. Consulte a página de documentação do parâmetro test para ver informações sobre como configurar testes de dados no seu projeto 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 seu projeto.

  • Git Integration: especifica os níveis de integração com seu provedor Git. Veja mais detalhes em Opções de integração do Git.

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

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

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

    A redefinição da conexão do Git preserva o histórico do Git para a ramificação mestre. Ele também preserva o histórico de cada ramificação pessoal de cada desenvolvedor do Looker quando eles sincronizam o modo de desenvolvedor. Para preservar o histórico de todas as ramificações, consulte o artigo Como migrar para um novo repositório Git da Central de Ajuda.

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

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

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

Com a integração padrão do Git do Looker, todos os desenvolvedores do Looker mesclam as alterações em uma ramificação chamada master. É possível usar o campo Git Production Branch Name para especificar qual ramificação do seu repositório Git precisa ser usada pelo Looker como ramificação de destino na qual os desenvolvedores do Looker devem ser mesclados. Consulte a página de documentação Como usar o controle de versões e 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 para todos os desenvolvedores no projeto do Looker confirmarem as alterações e mesclarem as ramificações com a ramificação de produção existente e, em seguida, pausar o trabalho até que o nome da ramificação de produção Git seja atualizado e salvo na configuração do projeto do Looker.
  • Se o projeto usa solicitações de envio integradas, finalize e mescle as solicitações de envio abertas, conforme apropriado.
  • Realizar as preparações necessárias no lado do provedor do Git, como criar uma nova ramificação no seu repositório, renomear a ramificação padrão do Git existente ou qualquer ação necessária para preparar a ramificação para que o Looker possa usá-la como uma ramificação de destino para mesclagem. No mínimo, você precisa verificar se a ramificação que quer usar é uma ramificação atual do repositório Git.

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

  1. Navegue até a guia Configuração da página Configurações do projeto clicando no ícone Configurações no menu à esquerda.
  2. No campo Git Production Branch Name, digite o nome da ramificação do Git que você quer usar como a de produção do seu projeto do Looker.
  3. Role para baixo e clique no botão Save Project Configuration para salvar a alteração.

Importar credenciais

Na seção Importar credenciais, você gerencia as credenciais de autenticação para repositórios remotos particulares. Consulte os detalhes na página de documentação Como importar arquivos de outros projetos.

Gerenciamento de filiais

Na guia Branch Management da página Projects Settings, você pode ver todas as ramificações do Git associadas ao projeto. Consulte os detalhes na 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 sua conexão Git, o Looker usará seu provedor Git para gerenciar seus arquivos de origem LookML, conforme descrito na página de documentação Como usar o controle de versões e a implantação.

Se você é um administrador do Looker, pode configurar opções adicionais para a 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:

O GitHub exige um token de acesso pessoal para executar operações de integração do Git. Se o projeto não estiver usando um token de acesso pessoal, crie um token de acesso pessoal no GitHub e redefina sua conexão Git usando seu token de acesso pessoal.

  • Desativado: o Looker não exibe links externos para a interface do seu provedor do Git. Essa é a opção obrigatória se o repositório Git for hospedado pelo Looker.
<aside class="deprecated">
Looker-hosted Git repositories are deprecated. See the [Migrating to a new Git repository](https://help.looker.com/hc/en-us/articles/360001310847-Migrating-to-a-New-Git-Repository) Help Center article for instructions on moving your project to a new Git repository.
To check if your Git repository is Looker-hosted, scroll to the bottom of the **Branch Management** tab of the **Project Settings** page to see the **Remote Origin URL**. Looker-hosted repos have a URL starting with `git@github.com:llooker`.
</aside>
  • Mostrar links: o Looker fornecerá links externos à interface do seu provedor do Git para que os desenvolvedores vejam o projeto na interface do provedor do Git. O Looker também vai fornecer links para cada arquivo de projeto, para que os desenvolvedores possam ver o histórico do arquivo e as informações de culpa do Git na interface do seu provedor Git. Consulte a seção Como integrar links externos ao seu provedor do Git para ver informações sobre esses links.
  • Solicitações de envio recomendadas: além de fornecer links externos para a interface do seu provedor do Git, o Looker oferecerá aos desenvolvedores a opção de enviar uma solicitação de envio para que outro desenvolvedor possa aprovar mudanças antes de adicioná-las ao projeto. Consulte a seção Como integrar solicitações de envio para seu projeto para mais informações sobre como fazer essa configuração.
  • Solicitações de envio necessárias: é o mesmo acima, mas 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 mais informações sobre como fazer essa configuração.

Para salvar as configurações de integração do Git, role para baixo e clique em Save Project Configuration na seção Deployment.

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

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

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

No painel Ações do Git (link em inglês), o Looker fornece um link para os arquivos do seu projeto no site do provedor do Git:

Como integrar solicitações de envio para o projeto

Com a integração padrão do Git do Looker, os desenvolvedores do Looker confirmam as alterações em sua ramificação de desenvolvimento e, em seguida, 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 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 o branch de desenvolvimento na ramificação de produção do Looker, configure o projeto com a opção Solicitações de envio recomendadas ou a Solicitação de envio necessária:

  • Solicitações de envio recomendadas: depois que um desenvolvedor confirma as mudanças 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. Depois, um desenvolvedor pode abrir uma solicitação de envio para que outros desenvolvedores do Looker revisem e aprovem a interface da Web do provedor do Git. Se preferir, use a opção Implantar para a produção no painel "Ações do Git" para pular a criação de uma solicitação de envio e implantar as alterações na produção. A opção Deploy to Production não estará disponível se o projeto estiver ativado com o modo de implantação avançada.
  • Solicitações de envio necessárias: 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. O desenvolvedor precisa abrir uma solicitação de envio para mesclar a ramificação de desenvolvimento com a de produção. Em seguida, outros desenvolvedores do Looker podem analisar e aprovar a solicitação de envio na interface da Web do provedor do Git.

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

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

Veja mais observações sobre como usar solicitações de envio com o Looker:

  • Se o recurso de lista de permissões de IP estiver ativado na instância, para integrar solicitações de envio a qualquer projeto do LookML, será necessário adicionar à lista de permissões o intervalo de endereços IP a partir dos quais seu provedor do Git faz solicitações de saída. Por exemplo, os endereços IP atuais do GitHub estão listados no registro de mudanças do GitHub (em inglês). Os IPs estão sujeitos a mudanças e serão diferentes para outros provedores do Git.

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

  • Se um desenvolvedor do Looker tiver emitido uma solicitação de envio que você quer reverter, consulte este tópico da Comunidade para mais informações sobre como reverter uma solicitação de envio.

  • As solicitações de envio do Git permitem usar uma instância de preparo para o Looker. Assim, é possível ter uma instância de preparo e uma instância de produção com solicitações de envio ativadas na instância de preparo. Todo o desenvolvimento e a revisão de código pode ser feito no ambiente de preparo, e o código revisado pode ser implantado na instância de produção como você quiser. Para configurar isso, consulte o artigo Fluxo de trabalho do Git usando um repositório em várias instâncias: desenvolvimento, preparo e produção da Central de Ajuda.

  • O Looker mescla alterações de uma ramificação de desenvolvedor do Looker na ramificação de produção usando o método de mesclagem de compromissos. Ao usar a interface do seu provedor do Git, verifique se os desenvolvedores não estão usando a mesclagem do squash nem a mesclagem de realocação. Consulte a seção Opções de mesclagem na interface do provedor do Git 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 seu projeto, selecione Project Settings no menu de ícones à esquerda.
  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. Como alternativa, se você quiser configurar um webhook de implantação automático na interface do provedor do Git, copie as informações do webhook e cole-as em um arquivo de texto. Se o seu projeto estiver configurado para usar o modo de implantação avançada, você pode pular esta etapa. Também é possível decidir mais tarde e voltar às configurações do projeto para ver as informações do webhook.
  4. Como opção, é possível configurar um secret de implantação do webhook para autenticar um webhook de implantação automático do seu provedor do Git ou um webhook de modo de implantação avançado. Para criar um secret do webhook, clique em Definir Secret do webhook. Copie a chave secreta de implantação e cole-a em um arquivo de texto para usar ao adicionar o webhook à interface do seu provedor Git. Também é possível decidir posteriormente e voltar às configurações do projeto para adicionar um secret de implantação. Consulte a página Como configurar o secret de implantação do webhook para mais informações.
  5. Clique em Save Project Configuration.

Sempre que um desenvolvedor do Looker confirmar alterações no seu projeto, o ambiente de desenvolvimento integrado do Looker 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 confirmações mais recentes mescladas na ramificação de produção, use a interface do provedor do Git para adicionar um webhook, conforme descrito na próxima seção desta página.
  • Para especificar manualmente quais ramificações ou confirmações são implantadas, ative o modo avançado de implantação. Consulte a página de documentação Modo de implantação avançada para ver 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 ativados para solicitações de envio, é possível configurar um webhook de implantação na interface do seu provedor do Git. Esse webhook 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 do Git.

Na maioria dos casos, não convém configurar um webhook de implantação automática caso seu projeto esteja configurado para usar o modo de implantação avançada. O modo de implantação avançada permite selecionar a confirmação e a ramificação que você quer implantar. Portanto, na maioria dos casos, a configuração de um webhook de implantação automática anula os recursos do modo de implantação avançada.

Para adicionar um webhook de implantação automática à interface do seu provedor Git, acesse as configurações do seu projeto no Looker e copie o webhook da seção Git Integration:

Neste exemplo, as informações do webhook são <host_url>/webhooks/projects/e_faa/deploy.

Substitua <host_url> pelo URL da instância do Looker. Exemplo:

https://docsexamples.dev.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 seu projeto com o provedor do Git. Consulte a página Como configurar o secret de implantação do webhook para mais informações.

Assim que tiver o URL e a chave secreta de webhook de implantação, insira-os na interface do seu provedor do Git. Veja um exemplo usando o GitHub como provedor Git:

  1. Navegue até as configurações de repositório do seu projeto no site do provedor do Git.
  2. Nas configurações do seu repositório, clique em Webhooks. Clique em Adicionar webhook para abrir a janela Adicionar webhook.
  3. Na caixa de texto URL do payload, cole as informações do webhook que você copiou na seção Integração do Git no Looker.
  4. Como alternativa, é possível adicionar um secret de implantação do webhook que autentique as integrações Git do projeto com seu provedor Git. Copie o secret de implantação das configurações do seu projeto LookML e cole-o na caixa de texto Secret na interface do provedor do Git. Consulte a página Como configurar o secret de implantação do webhook para mais informações.
  5. Selecione a opção Apenas o evento push.
  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 são ativadas para o projeto LookML e os webhooks de implantação não são automatizados, você pode observar que o LookML exibido no modo de produção do Looker não corresponde ao LookML na ramificação mestre do seu repositório Git. Isso pode acontecer nas seguintes situações:

  • Quando as solicitações de envio são ativadas para o repositório
  • Quando o LookML for 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 preparo;

É possível sincronizar a ramificação de produção do Looker para a ramificação mestre 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 seu projeto do LookML: none <instance_url>/webhooks/projects/<project name>/deploy
  2. Depois de executar o URL de webhook de implantação, uma página da Web em branco exibirá uma mensagem de sucesso semelhante ao seguinte: none {"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 seu modo de produção no Looker foi atualizado para refletir sua ramificação mestre do Git remoto. Sua ramificação pessoal de desenvolvedor e as ramificações compartilhadas não são afetadas.

Extração 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 do webhook para enviar alterações da ramificação mestre 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 mestre 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, é possível executar o seguinte comando cURL no terminal com o secret do webhook. Lembre-se de substituir os seguintes campos:

  • Substitua <instance_URL> pelo URL da instância do Looker.
  • Substitua <deploy_secret> pela chave secreta de implantação do projeto.
  • Substitua <project_name> pelo nome do seu projeto 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 Brettcase com a ramificação mestre 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 esteja integrado às solicitações de envio, seus desenvolvedores usarão a interface do provedor do Git para enviar solicitações de envio e mesclar as alterações na ramificação de produção.

O Looker oferece suporte ao método de compromisso de mesclagem de mesclagem de alterações de uma ramificação de desenvolvimento para sua ramificação de produção. No entanto, a interface do seu provedor Git pode exibir opções adicionais para mesclagem:

O Looker não é compatível com a mesclagem de squash ou a mescla de realocação. Portanto, seus desenvolvedores devem evitar o uso dessas opções. Se possível, a prática recomendada é desativar as opções do seu repositório. O exemplo a seguir mostra a desativação dessas opções em um repositório do GitHub:

  1. Navegue até as configurações de repositório do seu projeto no site do provedor do Git.

    DICA: para projetos configurados com a integração do Git, é possível 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.

  3. Role para baixo até a seção Merge button e deixe marcada apenas a opção Allow merge commits. Desmarque as opções Permitir mesclagem de squash e Permitir mesclagem de rebase.

Depois que você desmarcar essas opções, elas não estarão disponíveis ao mesclar uma ramificação no repositório: