Configurar as definições de controlo de versões do projeto

Esta página descreve como configurar elementos do seu projeto para integração com o Git para controlo de versões.

Definições do projeto

Para ver as definições do projeto, abra o projeto e, de seguida, selecione o ícone Definições no menu de ícones do IDE do Looker.

A partir daqui, pode aceder a três separadores de Definições do projeto:

Configuração

O separador Configuração da página Definições do projeto abre a página Configuração do projeto. Na página Configuração do projeto, pode configurar as seguintes definições:

  • Nome: o nome do seu projeto. Pode mudar o nome do projeto editando o texto e clicando no botão Guardar configuração do projeto. Consulte a página de documentação Aceder e editar informações do projeto para ver mais detalhes.
  • Nome da ramificação de produção do Git: especifique o nome da ramificação do Git a usar como destino de união para as ramificações de desenvolvimento do seu projeto. O ramo Git tem de existir no seu repositório Git. Consulte a secção Nome do ramo de produção do Git nesta página para mais informações.

  • Qualidade do código: determina se os programadores têm de executar com êxito o validador do LookML no projeto antes de confirmar quaisquer alterações ao projeto. Qualidade do código tem as seguintes opções:

    • Exigir a correção de erros e avisos antes de consolidar: os programadores do Looker só podem consolidar alterações depois de executar com êxito o validador do LookML e resolver todos os erros e avisos. Esta é a definição recomendada.
    • Exigir apenas a correção de erros antes de consolidar: os programadores do Looker só podem consolidar alterações depois de executar com êxito o validador do LookML e resolver todos os erros. Os programadores podem confirmar alterações quando existirem avisos. Embora não seja recomendado, esta opção pode ser útil, por exemplo, se forem introduzidos novos avisos no LookML funcional após uma atualização do Looker.
    • Permitir a confirmação de código danificado: os programadores do Looker podem confirmar alterações sem executar o validador de LookML e independentemente de existirem erros ou avisos no LookML. Esta opção não é recomendada, pois pode resultar em LookML que não funciona ou que produz resultados erróneos.

  • Exigir a aprovação em testes de dados antes de implementar este projeto para produção: se o projeto do LookML tiver um ou mais parâmetros test, esta opção exige que os programadores executem os testes de dados antes de implementarem quaisquer alterações. Se os testes de dados forem aprovados, o IDE permite que o programador implemente alterações na produção. Consulte a página de documentação do parâmetro test para obter informações sobre a configuração de testes de dados no seu projeto do LookML. Consulte a página de documentação Usar o controlo de versões e implementar para ver informações sobre a execução de testes de dados no seu projeto. Por predefinição, a opção Exigir a aprovação em testes de dados antes de implementar este projeto para produção está ativada para novos projetos do LookML.

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

  • Ativar modo de implementação avançado: uma definição que, quando ativada, permite que os utilizadores implementem qualquer SHA, etiqueta ou ramificação na produção. Consulte a página de documentação do modo de implementação avançado para obter mais informações sobre a utilização do controlo de versões com o modo de implementação avançado ativado.

  • Código secreto da implementação do webhook: configura a autenticação para implementar alterações na produção na sua instância do Looker. Consulte a página de documentação Configurar o segredo de implementação do webhook para ver detalhes.

  • Repor ligação do Git: este botão abre a janela Configurar Git, onde pode atualizar as definições de ligação do seu repositório Git.

    A reposição da ligação do Git preserva o histórico do Git para o ramo principal. Também preserva o histórico do ramo pessoal de cada programador do Looker assim que sincroniza o respetivo modo de desenvolvimento. 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.

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

  • Resumo do Git: esta secção mostra a configuração do Git do projeto e as informações do ramo do Git do utilizador atual.

Nome do ramo de produção do Git

Com a integração do Git do Looker predefinida, todos os programadores do Looker unem as respetivas alterações num ramo principal denominado master. Pode usar o campo Nome do ramo de produção do Git para especificar o ramo do seu repositório Git que o Looker deve usar como ramo de destino no qual os ramos dos seus programadores do Looker são unidos. (Consulte a página de documentação Usar o controlo de versões e implementar para ver o fluxo de trabalho Git predefinido e outras opções para implementações Git avançadas.)

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

  • Peça a todos os programadores no projeto do Looker para confirmarem as respetivas alterações e unirem os respetivos ramos ao ramo de produção existente e, em seguida, pausem o trabalho até que o nome do ramo de produção do Git seja atualizado e guardado na configuração do projeto do Looker.
  • Se o seu projeto usar pedidos de envio integrados, finalize e combine todos os pedidos de envio abertos, conforme adequado.
  • Faça as preparações necessárias no lado do fornecedor do Git, como criar uma nova ramificação no seu repositório, mudar o nome da ramificação do Git predefinida existente ou quaisquer ações que possam ser necessárias para preparar a ramificação de modo que o Looker a possa usar como uma ramificação de destino para a união. No mínimo, tem de verificar se o ramo que quer usar é um ramo existente no seu repositório Git.

Para alterar o ramo do Git que o seu projeto usa como destino de união para ramos de desenvolvimento:

  1. Selecione o ícone Definições no menu de ícones do IDE do Looker para apresentar as definições do projeto. O separador Configuração é aberto por predefinição.
  2. No campo Nome do ramo de produção do Git, introduza o nome do ramo do Git que quer usar como ramo de produção para o seu projeto do Looker.
  3. Clique no botão Guardar configuração do projeto para guardar a alteração.

Importar credenciais

A secção Importar credenciais é onde pode gerir as credenciais de autenticação para repositórios remotos privados. Consulte a página de documentação Importar ficheiros de outros projetos para ver detalhes.

Gestão de ramos

No separador Gestão de ramificações da página Definições do projeto, pode ver todas as ramificações do Git associadas ao projeto. Consulte a página de documentação Usar o controlo de versões e implementar para ver detalhes.

Opções de integração do Git

Depois de configurar a ligação Git, o Looker usa o seu fornecedor Git para gerir os ficheiros de origem do LookML, conforme descrito na página de documentação Usar o controlo de versões e implementar.

Se for administrador do Looker, pode configurar opções adicionais para a integração do Looker com o Git através das opções de Integração do Git no separador Configuração do painel de definições do projeto:

  • Desativado: o Looker não apresenta links externos para a interface do seu fornecedor de Git.
  • Mostrar links: o Looker fornece links externos para a interface do seu fornecedor de Git para que os programadores possam ver o projeto na interface do fornecedor de Git. O Looker também fornece links para cada ficheiro do projeto para que os seus programadores possam ver o histórico do ficheiro e as informações de atribuição do Git na interface do seu fornecedor do Git. Consulte a secção Integrar links externos no seu fornecedor de Git para ver informações sobre os links.
  • Pedidos de obtenção recomendados: além de fornecer links externos para a interface do seu fornecedor do Git, o Looker dá aos programadores a opção de enviar um pedido de obtenção para que outro programador possa aprovar as alterações antes de as adicionar ao projeto. Consulte a secção Integrar pedidos de envio para o seu projeto para ver informações sobre como configurar esta opção.
  • Pedidos de envio obrigatórios: esta opção é igual a Pedidos de envio recomendados, exceto que os programadores do LookML têm de abrir um pedido de envio para enviar alterações ao projeto. Consulte a secção Integrar pedidos de envio para o seu projeto para ver informações sobre como configurar esta opção.

Para guardar as definições de integração do Git, clique em Guardar configuração do projeto na secção Implementação.

Se ativou alguma das opções de integração do Git adicionais (Mostrar links, Pedidos de obtenção recomendados ou Pedidos de obtenção obrigatórios), o Looker fornece links externos para a interface do seu fornecedor do Git. Estes links externos abrem um novo separador do navegador para o site do seu fornecedor de Git.

Para ver estes links externos, os seus programadores têm de ter uma conta junto do seu fornecedor de Git e acesso ao repositório Git do projeto.

No menu de opções de ficheiros (três pontos) de cada um dos seus ficheiros LookML, o Looker fornece links para o site do seu fornecedor de Git para ver o ficheiro, ver as informações de atribuição do Git para o ficheiro e ver o histórico de commits do ficheiro.

No painel Ações do Git, também pode usar a opção Ver projeto em <Git provider> para abrir os ficheiros do projeto no site do seu fornecedor de Git.

Integrar pedidos de obtenção para o seu projeto

Com a integração do Git do Looker predefinida, os programadores do Looker consolidam as respetivas alterações no ramo de desenvolvimento e, em seguida, unem o ramo de desenvolvimento ao ramo de produção. Em seguida, quando implementa no ambiente do Looker, o Looker usa a confirmação mais recente no ramo de produção. (Consulte a página de documentação Usar o controlo de versões e implementar para ver o fluxo de trabalho Git predefinido e outras opções para implementações Git avançadas.)

Em vez de permitir que os programadores do Looker unam a respetiva ramificação de desenvolvimento à ramificação de produção do Looker, pode configurar o seu projeto com a opção Pedidos de obtenção recomendados ou Pedidos de obtenção obrigatórios:

  • Pedidos de obtenção recomendados: depois de um programador confirmar alterações no respetivo ramo de desenvolvimento, o botão Git no IDE do Looker pede ao programador que abra um pedido de obtenção para unir o ramo de desenvolvimento ao ramo de produção. Em seguida, o programador pode abrir um pedido de envio para que outros programadores do Looker o revejam e aprovem a partir da interface Web do fornecedor do Git. Em alternativa, o programador pode usar a opção Implementar na produção no painel Ações do Git para ignorar a criação de um pedido de obtenção e implementar as alterações na produção. (A opção Implementar em produção não está disponível se o projeto estiver ativado com o modo de implementação avançado.)
  • Pedidos de obtenção obrigatórios: depois de um programador confirmar alterações no respetivo ramo de desenvolvimento, o botão do Git no IDE do Looker pede ao programador que abra um pedido de obtenção. O programador tem de abrir um pedido de obtenção para unir a respetiva ramificação de desenvolvimento à ramificação de produção. Em seguida, outros programadores do Looker podem rever e aprovar o pedido de envio a partir da interface Web do fornecedor do Git.

O Looker suporta a integração de pedidos de obtenção para os seguintes fornecedores de Git:

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

Seguem-se algumas notas adicionais sobre a utilização de pedidos de envio com o Looker:

  • Para abrir pedidos de obtenção, os seus programadores têm de ter uma conta junto do seu fornecedor de Git e acesso ao repositório Git do projeto.

  • Se a funcionalidade Lista de autorizações de IPs estiver ativada na sua instância, para integrar pedidos de envio com quaisquer projetos do LookML, tem de adicionar à lista de autorizações o intervalo de endereços IP a partir do qual o seu fornecedor de Git faz pedidos de saída. Por exemplo, os endereços IP atuais do GitHub estão listados no registo de alterações do GitHub. Os IPs estão sujeitos a alterações e são diferentes para outros fornecedores de Git.

  • Se tiver ativado o modo de implementação avançado, não é necessário configurar um webhook na secção Configurar o seu projeto com pedidos de obtenção integrados, uma vez que o modo de implementação avançado separa as funções de união e implementação.

  • Se um programador do Looker tiver emitido um pedido de envio que quer reverter, consulte a publicação da comunidade Como reverter pedidos de envio do Looker através do GitHub para mais informações.

  • Os pedidos de envio do Git podem permitir a utilização de uma instância de preparação para o Looker, para que possa ter uma instância de preparação e uma instância de produção, com os pedidos de envio ativados na instância de preparação. Todo o desenvolvimento e revisão do código podem ser feitos no ambiente de preparação e, em seguida, o código revisto pode ser implementado na instância de produção. Para configurar esta opção, consulte a publicação da comunidade Fluxo de trabalho do Git com um repositório em várias instâncias: desenvolvimento, preparação e produção.

  • O Looker une as alterações de um ramo de programador do Looker no ramo de produção através do método de união commit de união. Quando usar a interface do seu fornecedor de Git, certifique-se de que os seus programadores não usam a compressão de união nem a rebase de união. Consulte a secção Opções de união na interface do fornecedor de Git para mais informações.

Configurar o seu projeto com pedidos de obtenção integrados

Para configurar o seu projeto do Looker com pedidos de envio do Git:

  1. No seu projeto, selecione Definições no menu de ícones do IDE do Looker.
  2. Na secção Integração do Git do separador Configuração, selecione Pedidos de obtenção recomendados ou Pedidos de obtenção obrigatórios.
  3. Opcionalmente, se quiser configurar um webhook de implementação automática na interface do seu fornecedor de Git, copie as informações do webhook e cole-as num ficheiro de texto. Se o seu projeto estiver configurado para usar o modo de implementação avançado, pode ignorar este passo. Também pode decidir mais tarde e voltar às definições do projeto para obter as informações do webhook.
  4. Opcionalmente, pode configurar um segredo de implementação do webhook para autenticar um webhook de implementação automático do seu fornecedor de Git ou um webhook de modo de implementação avançado. Para criar um código secreto do webhook, clique em Definir código secreto do webhook. Copie o segredo de implementação e cole-o num ficheiro de texto para usar quando adicionar o webhook à interface do seu fornecedor de Git. Também pode decidir mais tarde e voltar às definições do projeto para adicionar um segredo de implementação. Consulte a página de documentação Configurar o segredo de implementação do webhook para mais informações.
  5. Clique em Guardar configuração do projeto.

Agora, sempre que um programador do Looker confirmar alterações ao seu projeto, o IDE do Looker apresenta o botão Abrir pedido de obtenção. O botão abre um novo separador do navegador diretamente para a página do novo pedido de obtenção no Website do seu fornecedor do Git.

Depois de configurar o seu projeto do Looker para usar pedidos de envio, faça uma das seguintes ações para configurar a forma como os commits são implementados no seu ambiente de produção:

  • Para implementar automaticamente as confirmações mais recentes que são unidas ao ramo de produção, use a interface do seu fornecedor do Git para adicionar um webhook, conforme descrito na secção seguinte desta página.
  • Para especificar manualmente que ramificações ou commits são implementados, ative o modo de implementação avançado. Consulte a página de documentação do modo de implementação avançado para ver informações sobre como ativar e gerir o modo de implementação avançado.

Adicionar um webhook ao seu fornecedor de Git

Para projetos do Looker ativados para pedidos de envio, pode configurar um webhook de implementação na interface do seu fornecedor de Git. Este webhook aciona o Looker para implementar a confirmação mais recente do ramo de produção sempre que une um pedido de envio na interface do fornecedor de Git.

Na maioria dos casos, não é recomendável configurar um webhook de implementação automática se o seu projeto estiver configurado para usar o modo de implementação avançado. O modo de implementação avançado permite-lhe selecionar a confirmação e a ramificação que quer implementar. Por isso, na maioria dos casos, a configuração de um webhook de implementação automática anularia as funcionalidades do modo de implementação avançado.

Para adicionar um webhook de implementação automática na interface do seu fornecedor de Git, aceda primeiro às definições do projeto no Looker clicando no ícone Definições no menu de ícones do IDE do Looker do projeto. Em seguida, copie o webhook da secçã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 instância do Looker for example.looker.com e o nome do projeto for e_faa, o webhook tem o seguinte aspeto:

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

Nas definições do projeto do Looker, também pode obter um segredo de implementação do webhook para autenticar as integrações do Git do seu projeto com o fornecedor de Git. Consulte a página de documentação Configurar o segredo de implementação do webhook para mais informações.

Depois de ter o URL do webhook e o segredo do webhook de implementação, pode introduzi-los na interface do seu fornecedor de Git. Se o seu fornecedor de Git for o GitHub, siga estes passos:

  1. Navegue para as definições do repositório do seu projeto no repositório do GitHub.
  2. Nas definiçõ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 que copiou da secção Integração do Git no Looker.
  4. Opcionalmente, pode adicionar um segredo de implementação de webhook que autentique as integrações do Git do seu projeto com o seu fornecedor de Git. Copie o segredo de implementação das definições do projeto LookML e cole-o no campo Segredo na interface do fornecedor de Git. Consulte a página de documentação Configurar o segredo de implementação do webhook para mais informações.
  5. Selecione a opção Apenas o evento push no campo Que eventos quer acionar com este webhook?.
  6. Clique em Adicionar webhook.

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

Quando os pedidos de envio estão ativados para o seu projeto do LookML e os webhooks de implementação não estão automatizados, pode ocasionalmente verificar que o LookML que vê no modo de produção do Looker não corresponde ao LookML no ramo principal do seu repositório Git. Isto pode ocorrer nas seguintes situações:

  • Quando os pedidos de obtenção estão ativados para o repositório
  • Quando o LookML é editado fora do ambiente de desenvolvimento do Looker, como:
    • No próprio repositório Git
    • Noutra instância do Looker, como uma instância de preparação

Pode sincronizar o ramo de produção do Looker com o ramo principal do repositório através de um webhook de implementação:

  1. Abra um novo separador do navegador e introduza o seguinte URL, substituindo <instance_url> pelo URL da 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 implementação, uma página Web em branco apresenta uma mensagem de êxito semelhante à seguinte:

    {"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 remoto. A sua ramificação de programador pessoal e as ramificações partilhadas não são afetadas.

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

Se o seu projeto LookML também exigir um segredo de implementação de webhook para enviar alterações do ramo principal para o ramo de produção, recebe um dos seguintes erros quando sincroniza o ramo de produção com o ramo principal do repositório através do método descrito na secção anterior, Usar um webhook de implementaçã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 implementação, pode executar o seguinte comando cURL no seu terminal com o segredo do webhook. Certifique-se de que substitui os seguintes campos:

  • Substitua <instance_URL> pelo URL da instância do Looker.
  • Substitua <deploy_secret> pelo segredo de implementação do seu 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 sincronizasse um ramo de produção para o ecommerce_project na instância Brettcase com o ramo 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 união na interface do fornecedor de Git

Se o seu projeto do Looker estiver integrado com pedidos de envio, os programadores usam a interface do seu fornecedor de Git para enviar pedidos de envio e unir alterações ao ramo de produção.

O Looker suporta o método de confirmação de união para unir alterações de um ramo de desenvolvimento ao seu ramo de produção. No entanto, a interface do seu fornecedor de Git pode mostrar opções adicionais para a união, como Squash and merge ou Rebase and merge.

O Looker não suporta a união de compressão nem a união de rebase, pelo que os seus programadores devem evitar usar estas opções. Se possível, a prática recomendada é desativar estas opções para o seu repositório. Para desativar estas opções num repositório do GitHub, siga estes passos:

  1. Navegue para o separador Definições para aceder às definições do repositório do seu projeto no GitHub.

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

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

  3. Aceda à secção Botão de união e deixe selecionada apenas a opção Permitir commits de união. Desative as opções Permitir união de compressão e Permitir união de rebase.

Depois de desativar as opções de união, estas não ficam disponíveis no GitHub quando os programadores unem um ramo no repositório.