Tomcat Parallel Deployment, annule automatiquement le déploiement des anciennes applications


10

J'utilise le déploiement parallèle de Tomcat 8 dans le cadre d'une configuration de déploiement continu sans interruption depuis un certain temps maintenant.

Lorsque le gant de test a été exécuté, le serveur CI renomme automatiquement le fichier .war en application ## {numéro de version} .war et copie la guerre dans le dossier / webapp. l'application ## 333 coexistera bien avec l'application ## 332.

Le seul problème que je rencontre est que je dois annuler manuellement le déploiement des anciennes applications une fois que tout le trafic (nouvelles sessions) est automatiquement passé à la nouvelle.

Tomcat a-t-il un mécanisme intégré pour dire "hé, quand ce service descend à zéro session, il devrait être supprimé"? Peut-être une sorte d'événement "la dernière session vient de se terminer" que je peux exploiter.

Si quelqu'un d'autre a automatisé ce type de retrait d'application, j'aimerais en entendre parler. Merci!

Réponses:


9

Vous pouvez configurer Tomcat pour supprimer les anciennes applications. Vous devez ajouter l' undeployOldVersionsattribut à l' Hostélément et le définir sur true. Vous devrez modifier votre hôte dans server.xml en quelque chose comme ceci:

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

Consultez la documentation de l' hôte pour plus de détails. En particulier, cela ne fonctionne que lorsque le déploiement automatique est activé.


Sous quelle version de Tomcat utilisez-vous? J'ai Tomcat 8.5.6 et cela ne fonctionne pas. J'ai activé FarmWarDeployer et les nouvelles versions sont automatiquement déployées. Cependant, après avoir activé undeployOldVersions sur la balise Host, les anciens fichiers de guerre (et déploiements) ne sont pas supprimés.
Piko

Des progrès à ce sujet avec Tomcat 8?
JimmyD

1
La fonctionnalité est implémentée pour Tomcat 8. Si vous rencontrez des problèmes lors de l'utilisation de FarmWarDeployer, ouvrez un bogue, avec des étapes de reproduction, afin qu'il soit examiné.
Mark Thomas
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.