Je suis parti d'un utilitaire de services windows nommé psservice que j'ai couplé à Jenkins. Vous pouvez installer directement l'exécutable sur le serveur Jenkins mais personnellement j'ai préféré garder une trace dans un repository Svn ou Git. Je peux ainsi facilement faire évoluer la version de l'exe et pourquoi pas enrichir le fonctionnel sans avoir à me connecter physiquement sur le serveur Jenkins.
Mon projet nommé Redemarrage est assez simple
Le job Jenkins comprend plusieurs paramètres de types String
- server
- servicename
- adminuser : nom du compte utilisateur ayant les droits permettant de redémarrer les services
- adminpassword : mot de passe associé
On indique que le job peut être invoqué à distance
Il ne vous reste plus qu'à préciser les commandes qui seront lancées par le job et le tour est joué
echo "Stopping the tomcat service %servicename% on %server%"
%WORKSPACE%/scripts/windows/psService.exe \\%server% -accepteula -u %adminuser% -p %adminpassword% stop %servicename%
sleep 15
echo "Starting the tomcat service %servicename% on %server%"
%WORKSPACE%/scripts/windows/psService.exe \\%server% -accepteula -u %adminuser% -p %adminpassword% start %servicename%
sleep 15
Ce job peut être joué soit via Jenkins soit invoqué à distance puisque nous l'avons paramétrer pour. Pour cela vous pouvez par exemple utiliser wget. Un exemple de commande sera
wget --post-data "token=RedemarrageService&Serveur=MONNOMDESERVEUR&ServiceName=MONSERVICETOMCAT &windowsAdminUser=JAVAMIND&windowsAdminPassword=JAVAMIND" http://webpic.javamind.com/jenkins/job/Redemarrage/buildWithParameters
Merci infiniment pour le partage
RépondreSupprimer