# Deploy
Esse guia contém um passo a passo sobre a rotina de Deploy dos produtos Teknisa.
# Pré Requisitos
- Existem configurações iniciais que o setor de Infraestrutura da Teknisa deverá realizar no servidor. Caso esse passo ainda não tenha sido realizado, entre em contato com o Suporte.
- Criação do ambiente onde o produto será instalado (containers docker, apache...);
- Criação do WebSocket que irá fazer a comunicação do ambiente Teknisa com o servidor;
- Configuração dos domínios que serão utilizados;
- Configurações das variáveis, também chamadas de mnemônicos (banco de dados, IP's e/ou domínios...), dos produtos a serem instalados.
# Deploy de produto
- Acesse o Customer Portal (https://cp.teknisa.com (opens new window)) e utilize a opção no menu de Deploy de produto.
- Já com a tela aberta, selecione na lista o produto no qual deseja atualizar. Nesse guia, utilizaremos o TecFood.
- Caso o produto desejado não esteja na lista, entre em contato com o Suporte.
- Na aba que foi aberta, selecione a Versão e o Servidor.
- Nesse momento, o Customer Portal irá conectar com o WebSocket descrito no item anterior.
- Serão buscadas as versões atuais do produto instaladas no servidor e as versões disponíveis para atualização de cada módulo.
# Status
- Verde: Módulo atualizado, mas disponível uma nova instalação da mesma versão caso houver a necessidade de alteração dos mnemônicos.
- Amarelo: Atualização disponível.
- Vermelho: Versão indisponível. Nesse caso, o Deploy não poderá ser realizado. Entre em contato com o Suporte.
# Aplicando o Deploy
- Selecione os módulos que deseja aplicar o Deploy.
- Caso não selecione nenhum, todos os módulos com status Amarelo serão atualizados.
- Módulos não selecionados, mesmo que estejam com o status Amarelo, não serão atualizados, exceto no caso citado acima.
- Vamos realizar a rotina atualizando apenas o módulo TecFood - Faturamento.
- Ao realizar a confirmação da ação Aplicar Deploy, será aberta uma popup para que seja possível acompanhar o log da atualização.
- Nesse momento, o Customer Portal irá conectar com o WebSocket novamente para realizar todas as transações.
- Serão baixados os pacotes necessários do módulo, descompactados no servidor, mnemônicos serão alterados, além das demais validações necessárias no processo para garantir o correto funcionamento.
- Toda essa rotina é realizada em uma pasta temporária no próprio servidor. Caso tudo ocorra corretamente, no final do processo a pasta é alterada para o ambiente real (seja ele Produção, Release Candidate, Homologação...) e é feito um backup da pasta atual.
- Se tudo ocorreu bem, no final do processo o módulo em questão ficará com o status Verde
Atenção!
Durante a rotina de Deploy, uma verificação da versão do banco de dados é realizada e, caso houverem novas atualização disponíveis, será emitida uma mensagem de confirmação para download do script. Nesse momento, confirme para baixar e aplique-o no seu banco de dados caso utilize uma estrutura própria não hospedada na Teknisa.
- Agora, vamos realizar a rotina atualizando o produto TecFood e o módulo TecFood - Planejamento.
- Nesse exemplo, a mesma versão do TecFood será instalada novamente.
- O módulo TecFood - Planejamento também será atualizado.
- Novamente, todo o processo será realizado em uma pasta temporária.
- Como selecionamos o produto principal, essa atualização vai demorar um pouco mais. Será necessário copiar todos os módulos que não serão atualizados para a pasta temporária, onde o processo está sendo realizado, para que seja possível realizar o backup corretamente.
- Caso tudo ocorra como o esperado, a versão do produto será a mesma, mas o módulo selecionado será atualizado.
# Restaurando o backup
Informação
Atualizações podem gerar incosistências por inúmeros fatores. Nesses casos, após um Deploy, será possível regredir para o estado anterior da aplicação, mesmo quando mais de um módulo tiver sido atualizado.
- Para isso, na mesma tela, selecione a aba Histórico.
- Por padrão, serão listados os registros com atualização nos últimos 30 dias.
- A restauração do backup só será possível no registro mais recente, ou seja, apenas a última atualização poderá ser regredida.
- Selecione o registro.
- Em Ações (no rodapé, canto inferior direito), utilize a ação Restaurar Backup e confirme a solicitação.
- Nesse momento, novamente o Customer Portal irá conectar com o WebSocket para realizar as transações.
- Haverá uma validação na pasta do backup que foi feita no passo anterior e, caso esteja íntegra, será retornada e a pasta que contém a versão mais atual será apagada.
- Após o processo ser finalizado, poderemos conferir na aba Deploy que o ambiente retornou para o estado anterior, ou seja, com nosso módulo de TecFood - Planejamento pendente de atualização.
# Informações adicionais (Deploy de produto)
# Deploy
- O botão "O que há de novo?" lista os chamados que foram entregues nas versões que serão atualizadas no ambiente para cada módulo, possuindo abas de seus chamados e os que foram abertos por outros clientes. É importante saber o que estamos atualizando.
# Histórico
- Essa aba lista as atualizações que foram realizadas em ordem descrescente.
- É possível verificar quais módulos foram atualizados expandindo o registro.
- No registro principal, é possível utilizar as ações e as consultas, sendo elas:
- Ações:
- Restaurar Backup: Item descrito acima;
- Visualizar Log: Abre uma popup contendo o log completo dos procedimentos executados, sejam eles atualizações ou restaurações de backups;
- Enviar Log por Email: Envia o log completo dos procedimentos executados por email;
- Consultas :
- Atualizações de Estrutura: Lista todos os scripts de banco de dados gerados durante a rotina de deploy, caso existam;
- O que há de novo? (seus chamados): Seus chamados liberados nas versões que foram atualizadas;
- O que há de novo? (outros): Chamados de outros clientes liberados nas versões que foram atualizadas;
- Ações:
# Deploy por etapa
Visando um processo mais controlado entre servidores, foi criada uma nova tela para realizar a rotina de Deploy. Tudo que foi dito até aqui está relacionado à atualizações em único servidor. Esse processo em cada servidor será o mesmo. A grande diferença se trata do controle de versão.
Dica
Esse processo é utilizado geralmente quando existirem ambientes de Homologação, que são atualizados primeiramente para que se possa realizar validações e, posteriormente, disponibilizar exatamente as mesmas versões que foram testadas no ambiente de Produção.
# Criando um novo registro
- Acesse o menu Deploy por etapa e, com a tela aberta, utilize o botão de Adicionar.
- Informe uma descrição que se encaixe com sua demanda (opcional);
- Selecione o Produto e a Versão desejados. Em nosso exemplo, continuaremos com o TecFood.
- Selecione os servidores que deseja atualizar e informe a ordem de aplicação de cada um.
- A ordem influencia diretamente nos processos da tela. O primeiro servidor será o local onde serão definidas as versões e os módulos que serão atualizados (semelhante ao processo anterior).
- Após tudo preenchido, salve o registro.
# Aplicando o Deploy por etapa
- Utilize a ação Próximo Deploy.
- Nesse momento, serão listadas as versões e possíveis atualizações no primeiro servidor.
- Como no processo anterior, selecione os módulos que deseja atualizar. Vamos, novamente, atualizar o módulo TecFood - Planejamento.
- Ao utilizar a ação Aplicar Deploy, o processo de Deploy já descrito será utilizado (baixar os pacotes, realizar o processo em uma pasta temporária, fazer o backup...).
- Após a atualização, o registro principal receberá o status Parcial e o servidor em questão Aplicado. Os demais, continuarão Pendentes.
Nota
O registro principal só receberá o status Aplicado quando todos os servidores da lista forem atualizados com sucesso.
- Cada servidor possui suas ações. O primeiro da lista será responsável por todo o controle das versões.
- Somente nele será possível utilizar a ação Reaplicar Deploy.
- Essa ação fará o mesmo processo da anterior. É uma opção para atualizar mais módulos para validações antes de prosseguir para os próximos servidores.
- As demais ações são as mesmas do processo anterior.
# Atualizando o próximo servidor
- Com todas as atualizações já validadas no primeiro servidor, utilizaremos novamente a ação Próximo Deploy.
- Nesse momento, serão listadas as versões e possíveis atualizações no próximo servidor da lista.
- Agora notaremos a grande diferença do processo. Não será possível selecionar módulos. Todos os que forem necessários atualização de acordo com as versões do servidor anterior, serão atualizados. Isso garante que todos os servidores subsequentes sigam exatamente o mesmo versionamento que foi validado anteriormente.
- Como em nosso exemplo só há dois servidores, após o processo ser concluído com sucesso, tanto o registro principal quanto o servidor em questão receberão o status Aplicado. Nesse momento, tudo estará atualizado e disponível para utilização.
# Informações adicionais (Deploy por etapa)
# Histórico
- Essa aba contém o histórico de deploys realizados.
- Será possível consultar quais módulos foram atualizados expandindo o registro principal.