Como criar um pacote de integração contínua

Um pacote de integração contínua (CI) é um conjunto de instruções de validação associado ao seu projeto do LookML. Um usuário do Looker com a permissão manage_ci pode configurar o seguinte em um pacote de CI:

Antes de começar

Antes de criar um pacote de CI, você precisa do seguinte:

  • Uma instância do Looker que atenda aos requisitos de CI e que esteja ativada para CI.
  • Uma conta de usuário do Looker com a permissão manage_ci (incluída no conjunto de permissões de administrador).
  • Um projeto do LookML com pelo menos um commit implantado na produção. Os serviços em segundo plano de CI só podem recuperar a configuração do Git do projeto se ele estiver no Modo de Produção. Se o projeto existir apenas no Modo de Desenvolvimento, a CI vai retornar erros ao configurar gatilhos de webhook.

Como criar um pacote de CI

É possível configurar e executar os validadores na página Suites no ambiente de desenvolvimento integrado do Looker:

Página de pacotes de CI

Para criar um pacote de CI, siga estas etapas:

  1. No ambiente de desenvolvimento integrado do Looker, clique no ícone Integração contínua na barra de navegação do ambiente.
  2. Clique na guia Suítes para abrir a página Suítes.
  3. Na página Suítes, é possível criar uma nova suíte ou editar uma existente:
    • Para criar um novo pacote, clique no botão Criar pacote.
    • Para editar um pacote, clique no botão Editar pacote.
  4. Insira um nome para o Suite name. Se você estiver editando um pacote, clique no ícone de lápis para editar o nome dele.
  5. (Opcional) Ative o botão Acionar em uma programação se quiser configurar testes de validação automáticos em uma programação recorrente. Consulte a seção Acionar em uma programação desta página para mais informações.
  6. (Opcional) Ative a opção Acionar em solicitações de pull do Looker se quiser configurar testes de validação automáticos sempre que um desenvolvedor do Looker enviar uma solicitação de envio para seu repositório. Consulte a seção Acionar em solicitações de pull do Looker desta página para mais informações.

    Se você ativar o acionamento de solicitação de envio para um pacote de CI, use o campo Somente para ramificação de destino para especificar que as solicitações de pull apenas para ramificações específicas no repositório devem acionar uma execução do pacote de CI. Consulte a seção Acionar em solicitações de pull do Looker desta página para mais informações.

  7. (Opcional) Ative a opção Acionar em solicitações de pull do dbt Cloud se quiser configurar testes de validação automáticos sempre que um job de CI do dbt Cloud for executado. Consulte a seção Acionar em solicitações de pull do dbt Cloud desta página para mais informações.

  8. (Opcional) Se você quiser configurar testes de validação automática sempre que uma solicitação de envio for enviada a um projeto upstream (hub) importado, siga estas etapas:

    1. Ative a opção Acionar em solicitações de pull de projetos importados.
    2. Em Selecione os projetos upstream para se inscrever, marque a caixa de seleção de cada projeto de hub importado que deve acionar uma execução desse pacote de CI. Selecione pelo menos um projeto upstream.

    Consulte a seção Acionar em solicitações de pull de projetos importados desta página para mais informações.

  9. (Opcional) Ative a opção Ativar alertas por e-mail se quiser receber alertas por e-mail com base no status de uma execução de CI. Consulte a seção Configurar alertas desta página para mais informações.

  10. Se quiser, ative os botões do validador para ativar um validador e configurar as opções dele. Consulte as seguintes páginas de documentação para saber mais sobre cada um dos validadores:

  11. Salve as mudanças usando um dos seguintes métodos:

    • Se você estiver criando um novo pacote, clique no botão Criar pacote.
    • Se você estiver editando um pacote, clique no botão Atualizar pacote.

Gatilhos

As execuções de CI podem ser acionadas de várias maneiras:

Acionar com base em uma programação

É possível configurar um pacote de CI para ser acionado automaticamente de acordo com uma programação. Para isso, ative a opção Acionar de acordo com uma programação.

Quando essa opção está ativada, é possível selecionar a frequência e os detalhes para executar automaticamente o pacote de CI:

  • Mensalmente, em um dia e horário específicos
  • Semanalmente, em um dia e horário específicos
  • Diariamente, em um horário específico
  • Por hora ou a cada 2, 3, 4, 6, 8 ou 12 horas, com início e término em horários específicos do dia.
  • Minutos: a cada 5, 10, 15, 20 ou 30 minutos, com início e término em horários específicos do dia.
  • Meses específicos do ano, em um dia e horário específicos
  • Dias específicos da semana em um horário específico

Acionar em solicitações de pull do Looker

Para configurar um pacote de CI para acionamento automático na solicitação de envio, ative a opção Acionar em solicitações de pull do Looker. Para usar o acionamento de solicitação de envio, seu repositório Git precisa ser configurado pelo administrador do Looker na página Administrador de integração contínua do Looker.

Se você ativar os gatilhos de solicitação de envio para um pacote de CI, poderá especificar que apenas as solicitações de pull para ramificações específicas no repositório acionem uma execução do pacote de CI. Para limitar os gatilhos automáticos de solicitação de envio de execuções de CI a ramificações específicas no repositório, insira uma lista separada por vírgulas das ramificações no campo Somente para ramificação de destino.

Por exemplo, se um repositório tiver três ramificações chamadas main, release_1 e dev, insira main, release_1 no campo Somente para a ramificação de destino. Issu significa que as execuções de CI serão acionadas quando um desenvolvedor do Looker enviar uma solicitação de envio para a ramificação main ou release_1. Se um desenvolvedor do Looker enviar uma solicitação de envio para a ramificação dev, isso não vai acionar uma execução automática do pacote de CI.

Acionar em solicitações de pull do dbt Cloud

Se você configurou a integração do dbt Cloud na sua instância, é possível configurar um pacote de CI para ser acionado automaticamente quando um job de CI do dbt Cloud for concluído. O pacote de CI verifica se as mudanças nos modelos do dbt vão causar erros de SQL nas Análises do Looker antes que as mudanças do dbt sejam implantadas.

Para configurar esse gatilho, ative a opção Acionar em solicitações de pull do dbt Cloud ao criar ou editar um pacote de CI.

Depois de ativar esse acionador, configure as seguintes opções:

  • Job do dbt Cloud: selecione o job de CI do dbt Cloud no campo suspenso que deve acionar esse pacote.

  • Atributo do usuário do esquema: selecione o atributo do usuário do Looker que contém o nome do esquema para sua conexão de banco de dados. Somente os atributos de usuário que foram ativados para CI no painel Administrador vão aparecer nessa lista.

Quando você salva o conjunto com esse gatilho ativado, o Looker registra automaticamente um webhook na sua conta do dbt Cloud para detectar a conclusão de jobs.

Para execuções acionadas pelo dbt Cloud, o Looker identifica dinamicamente o esquema temporário criado pela execução do dbt Cloud e substitui o atributo de usuário selecionado por esse nome de esquema temporário durante a execução da CI.

Acionar em solicitações de pull de projetos importados

Se o projeto do Looker usa importações de projetos locais para importar outros projetos da mesma instância do Looker, é possível configurar um pacote de CI para testar projetos downstream (conhecidos como projetos spoke) sempre que uma solicitação de envio for aberta ou atualizada em um projeto upstream importado (conhecido como projeto hub).

Por exemplo, suponha que você tenha um projeto de hub company_bi importado para os projetos de spoke marketing e finance. É possível configurar um gatilho nos projetos marketing e finance para validar esses projetos spoke sempre que uma solicitação de envio for enviada ao repositório company_bi.

Antes de configurar esse gatilho, considere os seguintes pré-requisitos e comportamentos:

  • Somente importações de projetos locais: todos os projetos de hub inscritos precisam ser importados localmente para o projeto spoke usando o parâmetro local_dependency em manifest.lkml na mesma instância do Looker. Projetos remotos (importações que usam o parâmetro remote_dependency no arquivo de manifesto do projeto) não são compatíveis.
  • Git e Modo de Produção: tanto o projeto spoke quanto os projetos hub importados precisam ser implantados no Modo de Produção e ter o app de CI do GitHub configurado para os repositórios Git.
  • Permissões: o papel Usuários de CI do Looker precisa ter a permissão develop para os modelos no projeto spoke e nos projetos hub importados.
  • Comportamento do validador: como o projeto spoke é validado em relação à versão de produção e não tem um estado Git de ramificação de desenvolvimento para comparação, a validação incremental é desativada automaticamente para execuções acionadas por solicitações de pull de projetos importados, independentemente da configuração do pacote. Além disso, recomendamos desativar o Validador de LookML de CI e o Validador de estilo de CI em conjuntos que são acionados apenas por solicitações de pull de projetos importados, porque esses validadores verificam apenas os arquivos do projeto spoke e não são afetados por mudanças upstream.

Para configurar um projeto spoke para executar a validação de CI quando solicitações de pull forem enviadas para um ou mais projetos hub importados, siga estas etapas ao criar ou editar um pacote de CI no projeto spoke:

  1. Ative a opção Acionar em solicitações de pull de projetos importados.
  2. Em Selecione os projetos upstream para se inscrever, marque a caixa de seleção de cada projeto de hub importado que deve acionar uma execução desse pacote de CI. Selecione pelo menos um projeto upstream.

Se você quiser que as mudanças em um projeto de hub acionem execuções de validação em vários projetos de spoke, configure um pacote de CI em cada projeto de spoke.

Quando você salva o pacote de CI, o Looker cria automaticamente uma assinatura de webhook no repositório de cada projeto de hub selecionado para eventos de solicitação de envio. Quando uma solicitação de envio é enviada ao repositório de um projeto de hub inscrito, o Looker aciona uma execução de CI no projeto spoke. A execução valida a versão de produção do projeto spoke enquanto fixa temporariamente o projeto hub importado ao commit da solicitação de envio. O Looker informa o resultado da execução de CI do projeto spoke como um status de commit na solicitação de envio do projeto hub. Também é possível conferir os detalhes da execução na página Execuções do projeto spoke no ambiente de desenvolvimento integrado do Looker, em que a coluna Gatilho mostra Importação do projeto e a página de resultados da execução inclui uma seção Importações do projeto. Para mais informações sobre como essas execuções são realizadas e como inspecionar os resultados, consulte Como executar pacotes de CI e Como visualizar os resultados de uma execução de CI.

Configurar alerta

Para receber alertas por e-mail com base no status das execuções de CI, configure os alertas para um pacote de CI. Isso permite monitorar as execuções de integração contínua sem precisar consultar a página Execuções no ambiente de desenvolvimento integrado do Looker.

Para configurar alertas por e-mail para um pacote de CI, siga estas etapas ao criar ou editar um pacote de CI:

  1. Ative a opção Ativar alertas por e-mail.
  2. No campo Endereços de e-mail, insira uma lista separada por vírgulas dos endereços de e-mail que vão receber os alertas.
  3. Use as caixas de seleção para selecionar os status de job que devem acionar um alerta:
    • Falha: aciona um e-mail quando uma execução de CI falha nos testes de validação.
    • Erro: aciona um e-mail quando uma execução de CI encontra um erro de sistema ou de configuração.
    • Aprovado: aciona um e-mail quando uma execução de CI é concluída com sucesso.
    • Cancelada: aciona um e-mail quando uma execução de CI é cancelada.

Excluir um pacote

Para excluir um pacote de CI, siga estas etapas:

  1. No ambiente de desenvolvimento integrado do Looker, clique no ícone Integração contínua na barra de navegação do ambiente.
  2. Clique na guia Suítes para abrir a página Suítes.
  3. Na página Suítes, clique no botão Editar suíte.
  4. Na página do pacote, clique no botão Excluir pacote.
  5. Na caixa de diálogo de confirmação, clique no botão Excluir pacote.