Compilações

No Odoo.sh, um build é um banco de dados carregado por um servidor Odoo (odoo/odoo e odoo/enterprise) executando em uma revisão específica do repositório do seu projeto em um ambiente conteinerizado. Seu propósito é testar o comportamento adequado do servidor, do banco de dados e dos recursos associados a essa revisão.

Visão geral

Visão geral dos builds

Na visualização Builds, uma linha representa um branch e uma célula dentro dessa linha representa uma build desse branch.

A maioria das builds é criada após pushes para os branches do seu repositório GitHub. Elas também podem ser criadas através de outras operações, como importar um banco de dados no Odoo.sh ou solicitar uma reconstrução para um branch no seu projeto.

As builds podem ter três status possíveis:

  • Uma build é considerada bem-sucedida se nenhum erro ou aviso ocorrer durante sua criação. Builds bem-sucedidas são destacadas em verde.

  • Uma build é considerada quase bem-sucedida se avisos ocorrerem, mas não houver erros. Builds quase bem-sucedidas são destacadas em amarelo.

  • Uma build é considerada falha se erros ocorrerem durante sua criação. Builds com falha são destacadas em vermelho.

Nota

As builds nem sempre criam um banco de dados do zero. Por exemplo, ao fazer push de uma alteração no branch de produção, a build criada inicia o servidor com sua nova revisão e tenta carregar o banco de dados de produção atual nele.

Estágios

Produção

A primeira build de um branch de produção cria um banco de dados do zero. Se essa build for bem-sucedida, esse banco de dados se tornará o banco de dados de produção do seu projeto.

A partir de então, pushes para o branch de produção criarão novas builds que tentarão carregar o banco de dados usando um servidor executando a nova revisão.

Se a build for bem-sucedida ou quase bem-sucedida, o banco de dados de produção será executado com essa build e sua revisão associada.

Se a build falhar ao carregar ou atualizar o banco de dados, a build bem-sucedida anterior será reutilizada para carregar o banco de dados. Nesse caso, o banco de dados continua sendo executado usando a revisão bem-sucedida anterior.

Nota

A build usada para executar o banco de dados de produção é sempre a primeira na lista de builds. Se uma build falhar, ela é colocada após a build atualmente executando o banco de dados de produção.

Teste

Builds de staging duplicam o banco de dados de produção e tentam carregar essa cópia usando as revisões dos branches de staging.

Cada vez que você faz push de uma nova revisão para um branch de staging, a build resultante usa uma cópia nova do banco de dados de produção. Os bancos de dados não são reutilizados entre builds do mesmo branch. Isso garante que:

  • As builds de staging usem bancos de dados que correspondem intimamente ao estado de produção atual, para que seus testes não sejam realizados em dados desatualizados.

  • Você pode experimentar livremente dentro de um banco de dados de staging. Quando quiser recomeçar com uma nova cópia do banco de dados de produção, você pode solicitar uma reconstrução.

No entanto, isso também significa que se você fizer alterações de configuração em um banco de dados de staging e não as aplicar em produção, essas alterações não estarão presentes na próxima build do mesmo branch de staging.

Desenvolvimento

Builds de desenvolvimento criam novos bancos de dados, carregam os dados de demonstração e executam os testes unitários.

Uma build será considerada falha se os testes falharem durante a instalação, pois eles são projetados para gerar erros quando algo está errado.

Se todos os testes passarem e nenhum erro ocorrer, a build é considerada bem-sucedida.

Nota

Dependendo da lista de módulos a serem instalados e testados, uma build de desenvolvimento pode levar até uma hora para estar pronta. Isso se deve ao grande número de testes incluídos na suíte padrão de módulos do Odoo.

Recursos

O branch de produção sempre aparece primeiro. Outros branches são ordenados pelo horário de sua última build criada. O estágio destacado em roxo corresponde ao estágio selecionado no menu Branches.

Dica

Você pode filtrar branches usando a barra de pesquisa.

O menu de branches

Para cada branch, você pode:

  • Acessar o banco de dados da última build clicando em Connect.

  • Ir para o código do branch clicando em Github.

  • Criar uma nova build clicando em Rebuild. Ele usa a revisão mais recente do branch (não está disponível se uma build já estiver em andamento para esse branch).

Para cada build, você pode:

  • Visualizar as alterações da revisão clicando no ícone (GitHub).

  • Acessar o banco de dados da build como administrador clicando em Connect ou como outro usuário clicando no botão (More Actions) ao lado de Connect e selecionando Connect as.

  • Acessar as mesmas ferramentas da visualização de branches clicando no botão (More Actions) ao lado de Connect e selecionando Logs, Web Shell, Editor, Outgoing e-mails (para os estágios de staging e desenvolvimento), Monitoring e Download DB dump (para os estágios de produção e staging).

Opções de uma build