57 votes

Jenkins auto deploy tomcat 7

Nous essayons de déployer un fichier war avec Jenkins, mais rien ne semble se produire.

Le projet est construit avec succès, et nous sommes à l'aide de Jenkins déployer plugin. Il est configuré avec les options suivantes:

auto deploy plugin

Post étapes sont à exécuter, indépendamment de construire résultat".

J'ai vérifié que les informations d'identification sont correctes, car je peux accéder au gestionnaire de la page dans mon navigateur.

Voici la dernière partie que Jenkins, Maven) sorties:

[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1:24.506s
[INFO] Finished at: Tue Feb 14 12:10:45 UTC 2012
[INFO] Final Memory: 22M/52M
[INFO] ------------------------------------------------------------------------
channel stopped
Finished: SUCCESS

Je peux aussi changer de GUERRE/OREILLE fichier à quelque chose qui n'existe pas, et il ne veut pas me donner les erreurs, ce qui est un peu étrange. Ce que je fais mal ici?

105voto

Bill Clark Points 816

J'ai eu le même problème, et dans mon cas, la (relative) chemin de la GUERRE de fichier est incorrect. Apparemment, si vous ne l'avez pas tout à fait correct (il doit être relatif à l'espace de travail de la racine), puis de la déployer plugin va échouer en mode silencieux. Dans mon cas, le chemin d'accès est:

cible/whatever.la guerre

Une fois que cela a été corrigé, j'ai couru dans un problème différent en ce que le plugin s'attend à se connecter au manager/texte de la version de Tomcat Manager, plutôt que le gestionnaire/html version que j'ai l'habitude de configurer par défaut. Vous aurez besoin d'une ligne dans votre tomcat-users.xml fichier comme suit:

<user username="tomcat" mot de passe="crayon" roles="gestionnaire de script"/>

(C'est en plus du "manager-gui" le rôle que vous avez probablement déjà.)

Une fois que ces changements ont été effectués, la génération et le déploiement a très bien fonctionné.

8voto

J'utilise l' Hudson Post-construction Tâche plugin pour exécuter un curl contre l' /manager/texte de l'API

Les plugins peuvent être sélectionnés et installé à partir de la liste des plugins disponibles dans la configuration de Jenkins.

Une fois que vous avez installé le plugin, vous avez juste besoin d'activer le "Post-construction tâche" et ajouter la ligne suivante:

curl -T - -u user:pass 'http://<tomcat-host>/manager/text/deploy?update=true&path=/<yourpath>' < <path_to_war_file>

Par exemple:

curl -T - -u manager:123456 'http://localhost:8080/manager/text/deploy?update=true&path=/slim' < /target/dist/slim.war

Vous pouvez également utiliser wget, mais avec la commande ci-dessus vous vous connectez la sortie et de voir si il y avait un problème avec le déployer.


Voici la documentation relative à l' /manager/texte de services

1voto

anvarik Points 1614

Hm avez-vous utilisé le Fret plugin? Eh bien, j'ai eu aussi la même configuration que vous, Jenkins, maven et tomcat. Mais quand j'ai eu besoin de déployer, j'ai été tout simplement à l'aide de ce plugin. Il a été un moment en fait, mais dans Jenkins vous ont pu entrer dans l'invite de commande de lignes de droit? Comme mvn clean install? Donc, ce que vous pouvez faire est de configurer votre pom pour le Fret plugin puis ajoutez cette ligne à votre Jenkins:

mvn cargo:deploy -Pintegration

De cette manière, j'ai été en mesure de nettoyer l'installation de mes builds quotidiens, et de les déployer sur le serveur Tomcat. Après, je faisais mes tests de repos.

1voto

AHungerArtist Points 3863

Pour ce que cela vaut, la dernière version du plugin Deploy pour Jenkins semble ne nécessiter que l’URL de base. Donc, pour moi, c'était http://blah.com:8080

Avant cela, j'avais essayé une foule d'autres options, notamment hôte-gestionnaire / html, hôte-gestionnaire / texte

0voto

Queso Points 585

En supposant que Jenkins trouve votre pom.xml à compiler. Définissez vos objectifs et options dans votre configuration Jenkins pour compiler le package . Jenkins essaiera ensuite de trouver votre fichier de guerre et de le déployer. Bonne chance.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X