Filiais
A visualização Branches fornece uma visão geral dos diferentes branches em seu repositório.
Estágios
Odoo.sh oferece três estágios de branch diferentes:
Production <odoo-sh/branches/stages/production>
Staging <odoo-sh/branches/stages/staging>
Development <odoo-sh/branches/stages/development>
Você pode alterar o estágio de um branch arrastando e soltando-o sob o estágio desejado.
Produção
O branch de produção contém o código usado para executar o banco de dados de produção. Pode haver apenas um branch de produção.
Quando você faz push de um novo commit para este branch, o servidor de produção é atualizado com o código revisado e reiniciado.
Se as alterações exigirem uma atualização de módulo, como alterar uma visualização de formulário, e você deseja que a atualização seja realizada automaticamente, você pode aumentar o número da versão do módulo em seu arquivo de manifesto (__manifest__.py). A plataforma então realiza a atualização, durante a qual a instância ficará temporariamente indisponível por razões de manutenção.
Este método é equivalente a atualizar o módulo usando o menu Apps ou a opção -u na linha de comando.
O Odoo.sh faz backup automático do banco de dados de produção. Ele mantém sete backups diários, quatro semanais e três mensais. Cada backup inclui o dump do banco de dados, o filestore (anexos e campos binários), logs e sessões.
Teste
As branches de staging se destinam a testar novos recursos usando dados de produção sem comprometer o banco de dados de produção real com registros de teste. Elas criam duplicatas neutralizadas do banco de dados de produção.
A neutralização desativa:
Scheduled actions
Outgoing emails
IAP services
Payment providers and shipping connectors
Se você configurar ou visualizar alterações em um banco de dados de staging, certifique-se de registrá-las (anotando-as passo a passo, reproduzindo em produção, etc.) ou escreva-as diretamente nos módulos da branch, usando arquivos de dados XML para sobrescrever a configuração padrão ou visualizações. Verifique a documentação do primeiro módulo <odoo-sh/module/add> para ver exemplos.
Os bancos de dados de staging não recebem backup automático. No entanto, você pode restaurar um backup do banco de dados de produção em uma branch de staging para fins de teste ou para recuperar manualmente dados que foram acidentalmente excluídos do banco de dados de produção. É possível criar backups manuais de bancos de dados de staging.
Desenvolvimento
As branches de desenvolvimento criam novos bancos de dados usando dados de demonstração para executar os testes unitários. Os módulos instalados são aqueles incluídos na branch. Você pode alterar essa lista de módulos a instalar nas configurações do projeto.
Ao fazer push de um commit para uma branch de desenvolvimento, um novo servidor é iniciado, com um banco de dados criado do zero, e a branch é atualizada. Os dados de demonstração são carregados e os testes unitários são executados por padrão para verificar que as alterações não quebram nenhum dos recursos sendo testados. Você pode desabilitar os testes ou permitir que testes específicos sejam executados com tags personalizadas acessando as configurações da branch <odoo-sh/branches/tabs/settings>.
Semelhantemente às branches de staging, os emails não são enviados, mas são interceptados por um mail catcher, e as ações agendadas não são acionadas enquanto o banco de dados não estiver em uso.
Os bancos de dados de desenvolvimento não recebem backup automático e backups manuais não são possíveis.
Mesclando branches
Você pode mesclar suas branches arrastando e soltando-as uma na outra.
Para testar as alterações de branches de desenvolvimento com os dados de produção, você pode:
Merge the development branch into a staging branch by dragging and dropping it onto the desired branch; or
Drag and drop the development branch under the Staging section to make it a staging branch.
Quando as alterações estiverem prontas para produção, arraste e solte a branch de staging na branch de produção para mesclar e implementar.
Mesclar uma branch de staging na branch de produção apenas mescla o código-fonte. Qualquer alteração feita no banco de dados de staging não é passada para o banco de dados de produção. No entanto, se você modificar o código no repositório, ele será passado para a branch de produção ao fazer a mesclagem.
Se você testar alterações de configuração em branches de staging e deseja que elas sejam aplicadas na branch de produção, você deve, ou:
Write the configuration changes in XML data files to overide the default configuration or views in the branch, and then increase the version of the module in its manifest (__manifest__.py) to trigger the module update when merging the staging branch in the production branch.
Pass them manually from the staging database to the production one by copying and pasting them.
Abas
Histórico
A aba Histórico fornece uma visão geral do histórico da branch:
The commit messages and their authors
The various events linked to the platform, such as stage changes, database imports, and backup restores
Um status no canto superior direito de cada evento indica a operação atual no banco de dados (por exemplo, instalação, atualização, importação de backup) ou seu resultado (por exemplo, feedback de teste, importação bem-sucedida de backup). Se uma operação for bem-sucedida, um botão Conectar aparece, permitindo que você acesse o banco de dados.
E-mails
A aba E-mails contém o interceptador de e-mail, que fornece uma visão geral dos e-mails enviados pelo banco de dados.
Shell
A aba Shell fornece acesso shell ao container.
Clicar em Shell abre uma nova aba do navegador onde você pode executar comandos Linux básicos (ls, top). Você pode abrir um shell no banco de dados executando psql.
Comandos
Aqui está uma visão geral dos comandos úteis que você pode executar em um terminal de banco de dados Odoo.sh:
odoo-bin shell: to open an Odoo shell
odoo-update: to update modules in the database
odoosh-restart: to restart Odoo.sh services (http or cron)
odoosh-storage: to check the storage usage of your instance's container filesystem
psql: to open a database shell
mutt: to check how emails appear on text clients (staging and development instances)
lnav ~/logs/odoo.log: to navigate in your instance's odoo.log file
ncdu: to launch the disk usage analyzer with an interactive interface
grep: to filter and find information in log or configuration files
Editor
Clicando em Editor abre uma nova aba do navegador para acessar um ambiente de desenvolvimento integrado (IDE) online para editar o código-fonte. Você também pode abrir terminais, consoles Python e consoles Odoo shell.
Você pode abrir múltiplas abas e arrastá-las para arranjar o layout conforme desejar.
Monitor
A aba Monitor exibe várias métricas de monitoramento de desempenho da build atual.
Amplie com seu cursor para ajustar o intervalo de tempo ou selecione-o manualmente no seletor de intervalo de tempo. Também é possível alterar o fuso horário.
As informações são agregadas periodicamente. Quando isso acontece, uma linha pontilhada azul é exibida, junto com a etiqueta Aggregate Date. Isso significa que os dados anteriores a essa data aparecerão achatados quando comparados aos dados posteriores a essa data. Portanto, ao usar a ferramenta de monitoramento, é recomendado focar em eventos recentes para obter o máximo de informações detalhadas possível.
Métricas
Sistema
O gráfico Memory exibe informações sobre o consumo de memória:
Memory container represents Odoo workers and container processes.
Memory postgresql represents the database.
O gráfico CPU exibe informações sobre o consumo de CPU:
CPU http represents Odoo workers.
CPU cron/mail represents scheduled actions and incoming emails.
CPU postgresql (database processes)
CPU other represents webshells, the editor, etc.
O gráfico Storage exibe informações sobre o armazenamento usado:
Container represents the filestore, log files, and user files.
Postgresql represents the database and indexes.
HTTP
O gráfico Requests exibe informações sobre o número de requisições HTTP por segundo:
HTTP successes represents successful requests.
HTTP errors represents failed requests (check odoo.log).
HTTP rate limited represents declined requests, possibly due to lack of workers.
O gráfico Concurrent requests (max) exibe o número máximo de requisições HTTP simultâneas por segundo.
O Average Response time exibe o tempo médio de resposta às requisições HTTP (em milissegundos).
E-mails
O gráfico Incoming exibe dados sobre o número diário de emails recebidos:
Received Emails represents emails successfuly received.
Received Emails bounced represents emails unsuccessfully received.
O gráfico Outgoing exibe dados sobre o número diário de emails enviados:
Sent Emails represents emails successfully sent.
Sent Emails bounced represents emails unsuccessfully sent.
Logs
A aba Logs oferece uma visualização em tempo real dos logs do seu servidor.
Há diferentes registros disponíveis:
pip.log: the Python dependencies installation
install.log: the database installation (for development branches, tests are included)
odoosh-import-database.log: the last imported dump process
odoo.log: the running server
update.log: the database updates
pg_slow_queries.log: psql queries that take an unusual amount of time
sh_webshell.log: the actions taken in the webshell
sh_editor.log: the actions taken in the editor
neutralize.log: the neutralization of the database (only staging)
Quando novas linhas são adicionadas aos logs, elas são exibidas automaticamente. Se você rolar até o final, o navegador rola automaticamente cada vez que uma nova linha é adicionada.
Você pode pausar o processo de busca de logs clicando no botão fa-pause (pause) no canto superior direito. Caso contrário, o processo é interrompido após cinco minutos. Você pode reiniciá-lo clicando no botão fa-play (play).
Backups
A aba Backups lista os backups disponíveis para download e restauração, permite que você execute um backup manual e importe um banco de dados.
O banco de dados de produção é automaticamente feito backup diariamente. São mantidos sete backups diários, quatro semanais e três mensais. Cada backup inclui o dump do banco de dados, o filestore (anexos e campos binários), logs e sessões.
Os bancos de dados de staging e desenvolvimento não são automaticamente feitos backup. No entanto, você pode restaurar um backup do banco de dados de produção em seus branches de staging, para fins de teste, ou recuperar manualmente dados que foram acidentalmente deletados do banco de dados de produção.
A lista contém os backups mantidos no servidor do seu banco de dados de produção. Este servidor mantém apenas um mês de backups: sete backups diários e quatro semanais.
Servidores de backup dedicados mantêm os mesmos backups, bem como três backups mensais adicionais. Para restaurar ou fazer download de um desses backups mensais, entre em contato com Odoo Support.
Ao fazer merge de um commit que atualiza a versão de um ou vários módulos (em __manifest__.py), ou suas dependências Python vinculadas (em requirements.txt), o Odoo.sh executa um backup automático (marcado com tipo Update na lista), pois o container será alterado pela instalação de novos pacotes pip, ou o banco de dados em si será alterado com a atualização do módulo acionada posteriormente. Nestes dois casos, um backup é acionado, pois pode quebrar algo.
Se o commit feito merge não atualiza a versão de um módulo ou dependências vinculadas, então nenhum backup é acionado pelo Odoo.sh, pois nem o container nem o banco de dados são modificados; portanto, a plataforma considera isso seguro o suficiente. Como precaução adicional, você pode fazer um backup manual antes de modificar as fontes de produção.
O objetivo dos backups manuais é criar um snapshot específico dos bancos de dados de produção ou staging (não disponível para desenvolvimento). Estes permanecem disponíveis por sete dias. No entanto, há um limite de cinco backups manuais diários.
Stage |
Automatic backup |
Manual backup |
|---|---|---|
Production |
Yes (up to 3 months) |
Yes (3 days) |
Staging |
No |
Yes (3 days) |
Development |
No |
No |
O recurso Import Database aceita arquivos de banco de dados de:
the standard Odoo database manager (available for on-premise Odoo servers under /web/database/manager)
the Odoo Online databases manager
the Odoo.sh Backups tab (using the fa-download (Download Options) button)
the Odoo.sh Compilações view (by clicking Download DB dump)
Upgrade
A aba Upgrade pode ser usada para atualizar branches de produção e staging de projetos válidos. Para mais informações sobre o processo de upgrade, consulte a documentação de Upgrade.
Ferramentas
A aba Ferramentas contém o gerador de perfil de código. É usado para iniciar uma sessão de criação de perfil, registrando as atividades dos workers do Odoo em execução na instância por um máximo de cinco minutos. Você pode optar por encerrar a sessão mais cedo, pois executar a ferramenta por um período mais curto reduz a quantidade de ruído no relatório.
Após cada sessão, um gráfico de chama interativo é criado para ajudá-lo a visualizar como os workers do Odoo alocam seu tempo.
Definições
A aba Configurações lista as opções de configuração disponíveis para a branch atualmente selecionada. As opções variam para cada etapa.
Comportamento ao receber novos commits
Você pode alterar o comportamento da branch ao receber um novo commit para branches de desenvolvimento e staging.
Por padrão, uma branch de desenvolvimento cria uma nova build e uma branch de staging atualiza a build anterior. Isso é útil se o recurso em que você está trabalhando requer uma configuração específica, pois você não precisaria configurá-la manualmente novamente após cada commit.
Se você selecionar Nova build para uma branch de staging, uma cópia nova da build de produção é criada sempre que um commit é enviado.
Uma branch que é movida de staging para desenvolvimento é configurada automaticamente para Não fazer nada.
Instalação de módulos
Você pode escolher quais módulos devem ser instalados automaticamente para branches de desenvolvimento.
Para alterar o comportamento padrão, desmarque a opção Usar Padrão em Comportamento da build de desenvolvimento e selecione uma das seguintes opções em Instalação de Módulos:
Install only my modules (does not include submodules): only installs the branch's modules, excluding submodules. This is the default option.
Full installation (no test suite): installs the branch's modules, submodules, and all standard Odoo modules. When running the full installation, the test suite is disabled.
Install a list of modules: installs the specified modules. To do so, enter their technical name, and separate them using commas (e.g., sale_management,website,accountant).
Suite de testes
Por padrão, a suite de testes para branches de desenvolvimento está habilitada. Você pode restringir quais testes são executados inserindo tags de teste <developer/reference/testing/selection> e separando-os usando vírgulas (por exemplo, custom_tags,at_install,post_install).
Para desabilitar a suite de testes completamente, desmarque Validar a suite de testes em novas builds.
Versão do Odoo
Você pode alterar a versão do Odoo para branches de desenvolvimento, por exemplo, para testar código atualizado ou desenvolver recursos enquanto seu banco de dados de produção está em processo de atualização para uma versão mais recente, selecionando outra Versão.
Por padrão, Mais recente é selecionado como a Revisão, e as fontes do seu servidor Odoo são atualizadas automaticamente semanalmente para se beneficiar das correções de bugs, segurança e desempenho mais recentes.
Para escolher uma revisão específica, selecione-a usando o campo Revisão.
Domínios personalizados
Você pode configurar domínios <name>.odoo.com adicionais ou seus próprios domínios personalizados para todos os tipos de branches.
Para usar seu próprio domínio personalizado, é necessário:
Own or purchase the domain name.
Enter the domain name under Custom domains (e.g., www.mycompany.com), then click Add domain.
Configure the domain name (e.g., www.mycompany.com) using your registrar's domain name manager with a CNAME record value set to your production database domain name (e.g., mycompany.odoo.com).
Para ter seu domínio raiz (por exemplo, mycompany.com) e domínio www (por exemplo, www.mycompany.com) funcionando, é necessário redirecionar o domínio raiz para o domínio www. A maioria dos gerenciadores de domínios oferece uma maneira de configurar este redirecionamento, comumente conhecido como redirecionamento da web.
HTTPS/SSL
Se o redirecionamento estiver configurado corretamente, um certificado SSL será gerado automaticamente usando Let's Encrypt no prazo de uma hora, o que significa que seu domínio será acessível através de HTTPS.
Conformidade com SPF e DKIM
Se o domínio dos seus endereços de email utiliza o protocolo de autenticação SPF (Sender Policy Framework) ou DKIM (DomainKeys Identified Mail), é necessário autorizar o Odoo como um host de envio nas configurações do nome de domínio para aumentar a capacidade de entrega de emails de saída. Para mais informações, consulte a documentação Configurar registros DNS para enviar emails no Odoo.
Comandos de shell
No canto superior direito da visualização, vários comandos shell são exibidos. Os comandos podem ser copiados usando o botão da área de transferência e depois usados em um terminal. Além disso, alguns deles podem ser usados diretamente pela interface do Odoo.sh.
Clonar
O comando clone é usado para criar uma cópia local do seu repositório Git.
Bifurcação
O comando fork é usado para criar uma nova ramificação com base na atual.
Mesclar
O comando merge é usado para combinar alterações de uma ramificação em outra ramificação.
SSH
O comando SSH é usado para se conectar a uma compilação usando SSH.
Para usar o comando SSH, é necessário configurar uma chave SSH primeiro. Para fazer isso:
On Odoo.sh, click your GitHub user in the top-right corner and select Profile.
Paste the SSH key under the Add a key manually field and click Add.
Desde que você tenha os direitos de acesso <odoo-sh/settings/collaborators> necessários no projeto, você receberá acesso SSH à build.
Submódulo
O comando submodule é usado para adicionar um branch de outro repositório ao seu branch atual como um submódulo.
Excluir
O comando delete é usado para deletar um branch do seu repositório.