J'écris un script bash qui déploie automatiquement une application sur un serveur Tomcat. Comment puis-je arrêter l'application à partir de bash/ligne de commande?
La méthode la plus simple que je connaisse est d'installer la webapp du gestionnaire Tomcat, de noter l'URL pour arrêter une application et wget
cette URL.
Essayez ceci script de ligne de commande pour gérer Tomcat appelé Tomcat-manager. Il nécessite Python, mais vous permet de faire des choses à partir d'un shell Unix comme:
$ Tomcat-manager --user=admin --password=newenglandclamchowder \
> http://localhost:8080/manager/ stop /myapp
et:
$ Tomcat-manager --user=admin --password=newenglandclamchowder \
> http://localhost:8080/manager deploy /myapp ~/src/myapp/myapp.war
Parce qu'il parle à Tomcat via HTTP, il fonctionne "localement", c'est-à-dire via localhost, ou depuis n'importe où votre instance Tomcat est accessible.
Une autre façon consiste à utiliser CURL. Dans mon cas, je suis sur une machine Windows d'entreprise qui n'a pas WGET. J'ai cependant CURL et je peux l'utiliser via le terminal GIT BASH.
Pour répertorier les applications exécutées sur Tomcat, j'exécute les éléments suivants (avec utilisateur: mot de passe)
curl --user admin:admin http://localhost:8080/manager/text/list
Ensuite, pour arrêter une application nommée "myapp"
curl --user admin:admin http://localhost:8080/manager/text/stop?path=/myapp
J'utilise wget
pour arrêter et démarrer des applications. L'utilisateur dans Tomcat-user.xml
doit avoir des rôles de gestionnaire-script.
Pour Tomcat 5/6:
wget "http://<user>:<password>@<servername>:<port>/manager/stop?=/<application context>" -O - -q
wget "http://<user>:<password>@<servername>:<port>/manager/start?=/<application context>" -O - -q
Depuis Tomcat 7 (7.0.62 pour mon installation), vous devez ajouter /text/
après gestionnaire:
wget "http://<user>:<password>@<servername>:<port>/manager/text/stop?path=/<application context>" -O - -q
wget "http://<user>:<password>@<servername>:<port>/manager/text/start?path=/<application context>" -O - -q
Il existe trois façons d'arrêter l'application Tomcat