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

Nesta página, descrevemos como configurar elementos do projeto para integrar ao Git no controle de versão.

Configurações do projeto

Para conferir as configurações do projeto, abra o projeto e selecione o ícone Configurações no menu de ícones do ambiente de desenvolvimento integrado do Looker.

Nessa página, você pode acessar três guias de Configurações do projeto:

Configuração

A guia Configuração da página Configurações do projeto abre a página Configuração do projeto. Na página Configuração do projeto, é possível definir as seguintes configurações:

  • Nome: o nome do projeto. Para renomear o projeto, edite o texto e clique no botão Salvar configuração do projeto. Consulte a página de documentação Como acessar e editar informações do projeto para mais detalhes.
  • Nome do branch de produção do Git: especifique o nome do branch do Git a ser usado como destino de mesclagem para branches de desenvolvimento do projeto. A ramificação do 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 é necessário que os desenvolvedores executem o validador do LookML no projeto antes de confirmar as mudanças. Qualidade do código tem as seguintes opções:

    • Corrigir erros e avisos antes de confirmar: os desenvolvedores do Looker só podem confirmar as mudanças depois de executar o validador do LookML e resolver todos os erros e avisos. Essa é a configuração recomendada.
    • Exigir apenas a correção de erros antes da confirmação: os desenvolvedores do Looker só podem confirmar as mudanças depois de executar o validador do LookML e resolver todos os erros. Os desenvolvedores podem confirmar as mudanças mesmo com avisos. Embora não seja recomendada, essa opção pode ser útil, por exemplo, se novos avisos forem introduzidos em um LookML funcional após uma atualização do Looker.
    • Permitir o commit de código corrompido: os desenvolvedores do Looker podem fazer commit de mudanças sem executar o validador do LookML e independente de haver erros ou avisos no LookML. Essa opção não é recomendada porque pode resultar em LookML que não funciona ou produz resultados errôneos.

  • Exigir que os testes de dados sejam aprovados antes de colocar este projeto em produção: se o projeto do LookML tiver um ou mais parâmetros test, essa opção vai exigir que os desenvolvedores executem os testes de dados antes de implantar qualquer mudança. Se os testes de dados forem aprovados, o IDE vai permitir que o desenvolvedor implante as mudanças na produção. Consulte a página de documentação do parâmetro test para 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 implantação para informações sobre como executar testes de dados no seu projeto. Por padrão, a opção Exigir que os testes de dados sejam aprovados antes de colocar este projeto em produção está ativada para novos projetos do LookML.

  • Integração com o Git: especifica os níveis de integração com seu provedor Git. Consulte Opções de integração do Git 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 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.

  • Secret de implantação de webhook: configura a autenticação para implantar mudanças na produção na sua instância do Looker. Consulte a página de documentação Configurar o segredo de implantação do webhook para mais detalhes.

  • Redefinir conexão do Git: esse botão abre a janela Configurar Git, em que é possível atualizar as configurações de conexão do repositório Git.

    A redefinição da conexão do Git preserva o histórico do Git para a ramificação principal. Ele também preserva o histórico da ramificação pessoal de cada desenvolvedor do Looker depois que o modo de desenvolvimento é sincronizado. Para preservar o histórico de todas as ramificações, consulte a página de práticas recomendadas Migrar para um novo repositório Git.

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

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

Nome do branch 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 principal chamada master. Use o campo Nome da ramificação de produção do Git para especificar qual ramificação do repositório Git o Looker deve usar como a ramificação de destino em que as ramificações dos desenvolvedores do Looker são mescladas. Consulte a página de documentação Usar controle de versão e implantação para conferir o fluxo de trabalho padrão do Git e outras opções de implementações avançadas do Git.

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

  • Peça a todos os desenvolvedores do projeto do Looker para fazer commit das mudanças e mesclar as ramificações à ramificação de produção atual. 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.
  • Se o projeto usar solicitações de envio integradas, finalize e mescle as solicitações de envio abertas, conforme necessário.
  • Faça os preparativos necessários no provedor do Git, como criar uma ramificação no repositório, renomear a ramificação padrão do Git ou realizar outras ações para preparar a ramificação para que o Looker possa usá-la como uma ramificação de destino para mesclagem. No mínimo, verifique se a ramificação que você quer usar existe no seu 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 Configurações no menu de ícones do ambiente de desenvolvimento integrado do Looker para mostrar as configurações do projeto. A guia Configuração é aberta por padrão.
  2. No campo Nome do branch de produção do Git, insira o nome do branch do Git que você quer usar como o branch de produção do seu projeto do Looker.
  3. Clique no botão Salvar configuração do projeto para salvar a mudança.

Importar credenciais

Na seção Importar credenciais, é possível gerenciar as credenciais de autenticação para repositórios remotos particulares. Consulte a página de documentação Importar arquivos de outros projetos para mais detalhes.

Gerenciamento de branches

Na guia Gerenciamento de ramificações da página Configurações do projeto, você pode conferir todas as ramificações do Git associadas ao projeto. Consulte a página de documentação Como usar o controle de versões e implantação para mais detalhes.

Opções de integração do Git

Depois de configurar sua conexão Git, o Looker vai usar seu provedor Git para gerenciar os arquivos de origem do LookML, conforme descrito na página de documentação Usar o controle de versão e implantar.

Se você for um administrador do Looker, poderá 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 do painel de configurações do projeto:

  • Desativado: o Looker não vai mostrar 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. O Looker também fornece 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 provedor Git. Consulte a seção Como integrar links externos ao seu provedor Git para mais 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 oferece 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 Integrar solicitações de pull ao seu projeto para saber como configurar isso.
  • 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 mudanças ao projeto. Consulte a seção Integrar solicitações de pull ao seu projeto para saber como configurar isso.

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

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

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

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

No painel Ações do Git, também é possível usar a opção Ver projeto em <Git provider> para abrir os arquivos do projeto no site do seu provedor do Git.

Integrar solicitações de pull para seu projeto

Com a integração padrão do Git no Looker, os desenvolvedores fazem commit das mudanças na ramificação de desenvolvimento e depois a mesclam na ramificação de produção. Em seguida, quando você implanta no ambiente do Looker, ele usa o commit mais recente na ramificação de produção. Consulte a página de documentação Usar controle de versão e implantação para conferir o fluxo de trabalho padrão do Git e outras opções de 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 a opção Solicitações de pull recomendadas ou Solicitações de pull obrigatórias:

  • Solicitações de envio recomendadas: depois que um desenvolvedor faz commit de mudanças na ramificação de desenvolvimento, o botão do Git no IDE do Looker pede que ele abra uma solicitação de envio para mesclar a ramificação de desenvolvimento na ramificação de produção. Em seguida, o desenvolvedor pode abrir uma solicitação de envio para que outros desenvolvedores do Looker analisem e aprovem na interface da Web do provedor do Git. Ou o desenvolvedor pode usar a opção Implantar na produção no painel de ações do Git para pular a criação de uma solicitação de envio e implantar as mudanças na produção. A opção Implantar na produção não está 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 IDE do Looker pede que ele 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 do Git.

O Looker é compatível com a integração de solicitação de envio para os seguintes provedores do Git:

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

Confira algumas observações adicionais sobre o uso de solicitações de extração com o Looker:

  • Para abrir solicitações de envio, os desenvolvedores precisam ter uma conta com o 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, para integrar solicitações de envio a qualquer projeto do LookML, adicione à lista de permissões o intervalo de endereços IP de onde seu provedor Git faz solicitações de saída. Por exemplo, os endereços IP atuais do GitHub estão listados no changelog 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çado, não é necessário configurar um webhook na seção Configurar seu projeto com solicitações de pull 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 da comunidade Como reverter solicitações de envio do Looker pelo GitHub para mais informações.

  • As solicitações de pull do Git permitem usar uma instância de staging para o Looker, assim você pode ter uma instância de staging e uma de produção, com as solicitações de pull ativadas na instância de staging. Todo o desenvolvimento e a revisão de código podem ser feitos no ambiente de staging, e o código revisado pode ser implantado na instância de produção. Para configurar isso, consulte a postagem da comunidade Fluxo de trabalho do Git usando um repositório em várias instâncias: desenvolvimento, teste e produção.

  • O Looker mescla as mudanças de uma ramificação de desenvolvedor do Looker na ramificação de produção usando o método de commit de mesclagem. Ao usar a interface do seu provedor Git, verifique se os desenvolvedores não estão usando squash merging nem rebase merging. Consulte a seção Opções de mesclagem na interface do provedor Git para mais informações.

Como configurar seu projeto com solicitações de extração integradas

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

  1. No projeto, selecione Configurações no menu de ícones do Looker IDE.
  2. Na seção Integração do Git da guia Configuração, selecione Solicitações de pull recomendadas ou Solicitações de pull necessárias.
  3. Se quiser configurar um webhook de implantação automática na interface do seu 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 depois e voltar às configurações do projeto para acessar as informações do webhook.
  4. Se quiser, configure 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 de webhook, clique em Definir secret de webhook. Copie o secret de implantação e cole em um arquivo de texto para usar quando adicionar o webhook à interface do seu provedor Git. Você também pode decidir depois e voltar às configurações do projeto para adicionar um segredo de implantação. Consulte a página de documentação Configurar o segredo 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 IDE do Looker vai mostrar o botão Abrir solicitação de pull. O botão abre uma nova guia do navegador diretamente na página da nova solicitação de envio no site do seu provedor do Git.

Depois de configurar seu projeto do Looker para usar solicitações de extração, faça uma das seguintes ações para definir como os commits são implantados no ambiente de produção:

  • Para implantar automaticamente os commits mais recentes mesclados à 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 esse modo.

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 Git. Esse webhook vai 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 anula os recursos do modo de implantação avançada.

Para adicionar um webhook de implantação automática na interface do seu provedor Git, primeiro acesse as configurações do projeto no Looker clicando no ícone Configurações no menu de ícones do IDE do Looker do projeto. Em seguida, copie o webhook da seção Integração do 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 sua instância do Looker for example.looker.com e o nome do projeto for e_faa, o webhook será 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 de webhook para autenticar as integrações do Git do projeto com seu provedor Git. Consulte a página de documentação Configurar o segredo de implantação do webhook para mais informações.

Depois de ter o URL do webhook e o segredo do webhook de implantação, você pode inseri-los na interface do seu provedor Git. Se o provedor do 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 Adicionar webhook para abrir a janela Adicionar webhook.
  3. No campo URL de payload, cole as informações do webhook copiadas da seção Integração do Git no Looker.
  4. Também é possível adicionar um secret de implantação de webhook que autentica as integrações do Git do seu projeto com o provedor Git. Copie o secret de implantação das configurações do projeto LookML e cole-o no campo Secret na interface do provedor Git. Consulte a página de documentação Configurar o segredo de implantação do webhook para mais informações.
  5. Selecione a opção Apenas o evento de envio no campo Quais eventos você quer que acionem este webhook?.
  6. Clique em Add webhook.

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

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

  • Quando as solicitações de envio estão ativadas para o repositório
  • Quando o LookML é 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 sua instância do Looker e <project_name> pelo nome do seu 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 mostrar 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"}
    

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

Extrair de um repositório Git remoto para webhooks com segredos de implantação

Se o projeto LookML também exigir um segredo de implantação de webhook para enviar mudanças da ramificação principal para a de produção, você vai receber um dos seguintes erros ao sincronizar a ramificação de produção com a principal do repositório usando o método descrito na seção anterior, 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 seguinte comando cURL no terminal com o segredo do webhook. Substitua os seguintes campos:

  • Substitua <instance_URL> pelo URL da sua instância do Looker.
  • Substitua <deploy_secret> pelo segredo 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

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

O Looker é compatível com o método de commit de mesclagem 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 outras opções de mesclagem, como Compactar e mesclar ou Rebase e mesclar.

O Looker não é compatível com squash merging nem rebase merging. Por isso, os desenvolvedores precisam evitar o uso dessas 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 projeto no GitHub.

    DICA: para projetos configurados com a integração do Git, use 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. Acesse a seção Botão de mesclagem e deixe marcada apenas a opção Permitir commits de mesclagem. Desative as opções Permitir fusão de squash e Permitir fusão de rebase.

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