Compilações

Visão geral

No Odoo.sh, uma compilação é considerada como uma base de dados carregada por um servidor Odoo (odoo/odoo & odoo/enterprise) em execução em uma revisão específica do repositório do seu projeto em um ambiente de contêiner. Sua finalidade é testar o bom comportamento do servidor, da base de dados e dos recursos com essa revisão.

../../../_images/interface-builds.png

Nessa visualização, uma linha representa uma ramificação e uma célula de uma linha representa uma construção dessa ramificação.

Na maioria das vezes, as compilações são criadas após o push em suas ramificações do repositório do Github. Elas também podem ser criadas quando você realiza outras operações, como importar uma base de dados no Odoo.sh ou solicitar uma recompilação de uma ramificação em seu projeto.

Uma compilação é considerada bem-sucedida se nenhum erro ou aviso for exibido durante sua criação. Uma compilação bem-sucedida é destacada em verde.

Uma compilação é considerada falha se ocorrerem erros durante sua criação. Uma compilação com falha é destacada em vermelho.

Se surgirem avisos durante a criação, mas não houver erros, a compilação será considerada quase bem-sucedida. Ela será destacado em amarelo para notificar o desenvolvedor de que foram gerados avisos.

As compilações nem sempre criam uma base de dados do zero. Por exemplo, ao fazer uma alteração na ramificação de produção, a compilação criada apenas inicia o servidor com sua nova revisão e tenta carregar a base de dados de produção atual nele. Se não houver erros, a compilação é considerada bem-sucedida e, caso contrário, falha.

Estágios

Produção

A primeira compilação de uma ramificação de produção cria uma base de dados do zero. Se essa compilação for bem-sucedida, esse base de dados será considerada como a de produção do seu projeto.

A partir de então, os pushs na ramificação de produção criarão novas compilações que tentarão carregar a base de dados usando um servidor em execução com a nova revisão.

Se a compilação for bem-sucedida ou tiver avisos, mas nenhum erro, a base de dados de produção será executada com essa compilação, juntamente com a revisão associada a ela.

Se a compilação falhar ao carregar ou atualizar a base de dados, a compilação anterior bem-sucedida será reutilizada para carregar base e, portanto, ela será executada usando um servidor em execução com a revisão anterior bem-sucedida.

A compilação usada para executar a base de dados de produção é sempre a primeira da lista de compilações. Se uma compilação falhar, ela será colocada após a compilação que está executando a base de dados de produção.

Teste

As compilações de preparação duplicam a base de dados de produção e tentam carregar essa duplicata com as revisões das ramificações de preparação.

Sempre que você envia uma nova revisão para uma ramificação de teste, a compilação criada usa uma nova cópia da base de dados de produção. As bases de dados não são reutilizadas entre as compilações da mesma ramificação. Isso garante que:

  • As compilações de teste usem bases de dados semelhantes à de produção, para que você não faça seus testes com dados desatualizados,

  • Você possa brincar o quanto quiser na mesma base de dados de teste e solicitar uma reconstrução quando quiser reiniciar com uma nova cópia da produção.

No entanto, isso significa que, se você fizer alterações de configuração nas bases de dados de teste e não as aplicar na produção, elas não serão passadas para a próxima compilação da mesma ramificação de teste.

Desenvolvimento

As compilações de desenvolvimento criam novas bases de dados, carregam os dados de demonstração e executam os testes de unidade.

Uma compilação será considerada falha e destacada em vermelho se os testes falharem durante a instalação, pois eles devem gerar erros se algo incorreto ocorrer.

Se todos os testes forem aprovados e não houver nenhum erro, a compilação será considerada bem-sucedida.

De acordo com a lista de módulos a serem instalados e testados, uma compilação de desenvolvimento pode levar até 1 hora para ficar pronta. Isso se deve ao grande número de testes definidos no conjunto de módulos padrão do Odoo.

Recursos

A ramificação de produção sempre aparecerá primeiro e, em seguida, as outras ramificações serão ordenadas pela última compilação criada. Você pode filtrar as ramificações.

../../../_images/interface-builds-branches.png

Você pode acessar em cada ramificação a base de dados da última compilação usando o link Conectar e ir para o código da ramificação usando o link Github. Em outras ramificações que não a de produção, é possível criar uma nova compilação que usará a revisão mais recente da ramificação usando o link recompilar. Esse último link não estará disponível quando já houver uma compilação em andamento para a ramificação.

../../../_images/interface-builds-build.png

Para cada compilação, você pode acessar as alterações de revisão usando o botão com o ícone do Github. Você pode acessar a base de dados da compilação como administrador usando o botão Conectar. Além disso, você pode acessar a base de dados com outro usuário usando o botão Conectar como, no menu suspenso do botão Conectar.

../../../_images/interface-builds-build-dropdown.png

No menu suspenso da compilação, é possível acessar os mesmos recursos que na visualização de ramificações: Registros, Shell da web, Editor, E-mails enviados. Você também tem a possibilidade de Baixar um dump da base de dados da compilação.