Déployer une application par la console CLI de JBOSS
Dans cet article nous allons voir comment deployer des applications WAR ou EAR avec la CLI (Command Line Interface) de jBoss.
Il est souvent nécessaire pour se faciler l’exploitation de serveur jBoss, de scripter (en bash par exemple) un certain nombre d’étapes. JBoss met à disposition un console (CLI) qui permet d’exécuter des scripts en mode line de commande ou batch. CLI est très puissante et permet de faire énormement de manipulation du serveur. Il est presque possible de modifier l’intégralité des configurations du serveur à chaud.
Afin de permettre à vos scripts de pouvoir être exécutés par jBoss, il faut ouvrir le port de management de jBoss. Dans le fichier standalone.xml, modifier la ligne jboss.bind.address.management
par
Ainsi le jboss écoutera sur toutes les adresses ip. Il est possible de sécuriser cette adresse en choisissait une adresse ip différente de celle qu’écoute le port HTTP et AJP.
Pour plus d’information sur la connexion CLI et la sécurisation
Vous pouvez utiliser deux solutions pour interagir avec JBoss.
Nous allons utiliser le mode batch avec un fichier car ceci s’avère plus simple. L’idée principale est de créer un fichier listant toutes les instructions que nous voulons faire faire par le jBoss.
L’idée de cette méthode est de demander à l’utilisateur du script, le fichier war (path et nom du fichier) à déployer. Une fois ces informations demandées et vérifier, il suffit de créer un fichier temporaire (ici script.cli) avec les instructions suivantes.
#Permet de deployer un war
deploy_war(){
echo "Veuillez saisir le fichier war deployer."
read war_file
while [ ! -f $war_file ]; do
echo "Le fichier $war_file n’existe pas."
echo "Veuillez resaisir le fichier war deployer."
read war_file
done
#Ici on crée le script dans un répertoire en cancatenant les instructions
echo "connect 127.0.0.1:9999" > /tmp/script.cli
echo "deploy $war_file" >> /tmp/script.cli
"$PARH_TO_JBOSS/bin/jboss-cli.sh"--file=/tmp/script.cli;
}
Et voilà, nous avons créé une méthode bash qui permet de déployer un war sur un jboss par l’intermédiaire d’un script.
Avec cette stratégie, il est facile de scripter d’autres fonctionnalités, par exemple, lister les datasources, ou en activer une.
Quand on cherche un poste de développeur, difficile de savoir où postuler et de s'y retrouver entre tous les jobboards. Et parfois, la peur de rater l'offre en or prend des proportions énormes : notifications à chaque nouvelle annonce, rafraîchissement frénétique des mails en attendant un retour, LinkedIn toujours ouvert dans un coin de l'écran... Alors comment garder le sommeil en recherche d’emploi ?
Il est parfois nécessaire d’utiliser l’instruction fromobject sur plusieurs projets. Mais cette instruction n’accepte qu’un seul argument. L’utilisation d’un virtual dataset va permettre de réaliser un fromobject() sur plusieurs projets.
Découvrez la planche #5 !