Implantação Remota

A capacidade de atualizar a aplicação remotamente sem interromper o servidor de aplicação é uma das funcionalidades importantes do HyperServer. Esse recurso permite que os desenvolvedores atualizem sua aplicação web de forma transparente sem necessidade de parar o servidor de aplicação. Tudo o que precisam fazer é enviar a nova versão pelo painel de controle do HyperServer ou enviar um novo binário remotamente usando FTP ou outros métodos de transferência de arquivos.

O Deploy Remoto pode ser feito de duas maneiras diferentes:

  • Deploy Remoto usando o Painel de Controle do HyperServer

  • Deploy Remoto usando a pasta especial "deploy"

Deploy Remoto usando o Painel de Controle do HyperServer

Para atualizar a aplicação usando o Painel de Controle do HyperServer siga estes passos:

1

Abrir o Server Monitor

Navegue para: http:///server (Por exemplo: http://localhost:8077/server)

Na tela de login insira Id e Senha de uma conta do server monitor com direitos administrativos.

clip0148
2

Selecione a aba HyperServer e Enviar

Selecione a aba HyperServer e então clique no ícone Enviar (Upload New Version) na barra de ferramentas.

clip0149
3

Escolha o executável e envie

Selecione seu novo arquivo executável e clique no botão Enviar para completar a operação de upload.

clip0150
4

Confirme a atualização

Você será solicitado a confirmar a atualização da sua aplicação usando o arquivo executável enviado.

clip0151
5

Observe que os Nodes são marcados como Discarded

Após você confirmar a operação de atualização, todos os Nodes existentes serão marcados como Discarded.

clip0152

Nodes Discarded não aceitarão novas sessões. Todas as novas sessões serão direcionadas para novos Nodes Active. Você pode executar diferentes versões lado a lado: versões antigas continuam atendendo sessões existentes enquanto novas sessões são direcionadas para nodes executando a nova versão. Assim que todas as sessões da versão antiga encerrarem, os Nodes Discarded serão removidos e apenas os Nodes Active executando a nova versão permanecerão.

clip0153
6

Certifique-se de que as informações de versão estejam presentes no executável

As informações de versão para cada Node são obtidas a partir das informações de versão incorporadas na sua aplicação Delphi. Certifique-se de que você habilitou as informações de versão e a opção de incremento automático do número de build no IDE Delphi.

clip0154
circle-info

Importante: Se você estiver usando a versão ISAPI DLL do HyperServer, certifique-se de ter ajustado o limite de tamanho de upload do IIS: https://unigui.com/doc/online_help/adjusting-upload-limit.htm

Deploy Remoto usando a pasta especial "deploy"

Outro método para atualizar sua aplicação remotamente é usar uma pasta especial chamada deploy. Essa pasta é criada automaticamente quando o HyperServer é executado pela primeira vez. Ela está localizada dentro da pasta da sua aplicação.

clip0155

Para deployar sua nova versão siga este procedimento:

1

Copie o novo executável para a pasta deploy

Copie seu novo executável (por exemplo hyper.exe) para a pasta deploy (por exemplo webapp32/hyper/deploy).

2

Renomeie a extensão do arquivo para .dep

Após copiar, renomeie o arquivo copiado e altere sua extensão de .exe para .dep (por exemplo renomear hyper.exe -> hyper.dep).

Esse procedimento pode ser automatizado usando um arquivo batch.

3

Alternativa: use FTP e depois renomeie para .dep

Você também pode usar FTP para enviar o novo arquivo para uma pasta deploy remota. Após a transferência, altere a extensão do arquivo para .dep.

Exemplo: ftp> cd webapp32/hyper/deploy ftp> put hyper.exe ftp> rename hyper.exe hyper.dep

O HyperServer monitora continuamente a pasta deploy e assim que detectar um arquivo com extensão .dep ele iniciará o deploy do novo binário. O arquivo .dep será apagado após a conclusão do deploy.

chevron-rightNota Importantehashtag

Você nunca deve copiar/enviar um arquivo diretamente com extensão .dep para a pasta deploy. Fazer isso pode levar a um arquivo executável do Node corrompido e a um deploy falho.