Implementação Paralela do Tomcat, automaticamente desplique aplicativos antigos

9

Estou usando o Parallel Deployment do Tomcat 8 como parte de uma configuração de implantação contínua com tempo de inatividade zero por algum tempo.

Quando a manoplas de teste é executada, o servidor de IC renomeia automaticamente o arquivo .war para o aplicativo ## {version-number} .war e copia a guerra para a pasta / webapp. aplicação ## 333 irá coexistir muito bem com a aplicação ## 332.

O único problema que estou encontrando é que tenho que manualmente remover a implantação dos aplicativos mais antigos, uma vez que todo o tráfego (novas sessões) foi automaticamente transferido para o novo.

O Tomcat possui algum mecanismo interno para dizer "ei, quando esse serviço fica com zero de sessões, ele deve ser removido"? Talvez algum tipo de "a última sessão acabou de expirar" evento que eu possa aproveitar.

Se alguém mais tiver automatizado esse tipo de aplicativo, implemente-o, adoraria saber disso. Obrigado!

    
por Martin Cron 26.01.2016 / 23:19

1 resposta

9

Você pode configurar o Tomcat para remover os aplicativos antigos. Você precisa adicionar o atributo undeployOldVersions ao elemento Host e defini-lo como true . Você precisará modificar seu host em server.xml para algo como o seguinte:

<Host undeployOldVersions="true" ...>
   ...
</Host>

Consulte a documentação do Host para obter detalhes. Em particular, isso só funciona quando a implantação automática está ativada.

    
por 27.01.2016 / 11:58