Question Jenkins déploie automatiquement tomcat 7


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

Le projet est construit avec succès et nous utilisons le plug-in de déploiement Jenkins. Il est configuré avec les options suivantes:

auto deploy plugin

Les étapes de post sont définies sur "Exécuter quel que soit le résultat de la génération".

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

Voici la dernière partie que Jenkins (Maven) produit:

[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 le fichier WAR / EAR en quelque chose qui n'existe pas et cela ne me donnera pas d'erreurs, ce qui est un peu étrange. Que fais-je mal ici?


57
2018-02-14 12:54


origine


Réponses:


J'avais le même problème et, dans mon cas, le chemin (relatif) du fichier WAR était incorrect. Apparemment, si vous ne l’avez pas exactement (il doit être relatif à la racine de l’espace de travail), alors le plug-in de déploiement échouera silencieusement. Dans mon cas, le chemin était:

target / any.war

Une fois que cela a été corrigé, j'ai rencontré un problème différent dans la mesure où le plug-in s'attend à se connecter à la version manager / text de Tomcat Manager, plutôt qu'à la version manager / html que je configure généralement par défaut. Vous aurez besoin d'une ligne dans votre fichier tomcat-users.xml comme suit:

<user username = "tomcat" password = "crayon" roles = "manager-script" />

(Ceci s'ajoute au rôle "manager-gui" que vous avez probablement déjà configuré.)

Une fois ces modifications apportées, la construction et le déploiement ont parfaitement fonctionné.


104
2018-04-01 00:04



Je utilise l Hudson Post Build Task Plugin pour exécuter un boucle contre l'API / manager / text

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

Une fois que le plug-in est installé, il vous suffit d'activer la "tâche post-construction" et d'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 aussi utiliser wget, mais avec la commande ci-dessus, vous enregistrez la sortie et vérifiez si le déploiement a rencontré un problème.


Ici c'est Documentation en lien avec / manager / texte un service


8
2018-03-28 22:26



Hm as-tu utilisé Cargaison brancher? Eh bien, j'avais aussi la même configuration que vous, Jenkins, Maven et Tomcat. Mais quand j'avais besoin de déployer, j'utilisais simplement ce plugin. Cela fait un moment en fait, mais dans Jenkins, vous avez été capable d'entrer des lignes d'invite de commande non? Comme mvn clean install? Donc, ce que vous pouvez faire est simplement configurer votre plugin pom for Cargo et ensuite ajouter cette ligne à votre Jenkins:

mvn cargo:deploy -Pintegration

De cette façon, j'ai pu installer quotidiennement mes builds et les déployer sur Tomcat. Après je faisais mes tests de repos.


1
2018-03-29 13:21



Pour ce que cela vaut, la dernière version du plug-in Deploy pour Jenkins ne semble avoir besoin que de l'URL de base. Donc, pour moi, c'était http://blah.com:8080

Avant cela, j'ai essayé une foule d'autres options, y compris host-manager / html, host-manager / text


1
2017-08-09 06:01



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


0
2018-03-14 16:32



J'ai essayé d'utiliser la solution de target / any.war mais ça ne marche pas alors j'ai essayé d'utiliser */.war et ça marche

vous pouvez voir que sur jenkins le guide définitif EN Vous devez spécifier où trouver les fichiers que vous voulez dans l'espace de travail de l'autre tâche de construction, et où Jenkins devrait les placer dans l'espace de travail de votre projet actuel. Cela peut être une expression régulière flexible (telle que */.guerre, pour tout fichier WAR produit par la construction travail), ou il peut être beaucoup plus précis (comme gameoflife-web / target / gameoflife.war).

ou sur Déployer sur Tomcat en branchant DEPLOY


0
2018-04-26 08:22



garder les rôles manager-gui, admin-gui pour l'utilisateur qui a été configuré la page Jenkins

Exemple:-

 <tomcat-users>

   <user username="uname" password="pword" roles="manager-gui,admin-gui"/>

 </tomcat-users>

0
2017-09-15 10:42