我试着使用target / whatever.war的解决方案 但它不起作用 所以我试着用* / .war和它的工作
你可以在詹金斯看到权威指南EN 您需要指定在其他构建作业的工作空间中找到所需文件的位置, 以及Jenkins应该将它们放在当前项目的工作区中。这可以 灵活的正则表达式(如 的 * / 。战争 强> ,对于构建生成的任何WAR文件 工作),或者它可以更精确(例如gameoflife-web / target / gameoflife.war)。
或者 通过插入DEPLOY部署到Tomcat
嗯,你用过 货物 插入?好吧,我也有和你一样的配置,Jenkins,maven和tomcat。但是当我需要部署时,我只是使用该插件。实际上已经有一段时间了,但是在Jenkins你能够输入命令提示行吗?像mvn clean install?所以,你可以做的只是配置你的pom for Cargo插件,然后将该行添加到你的Jenkins:
mvn cargo:deploy -Pintegration
通过这种方式,我能够每天清理安装我的构建,并将它们部署到Tomcat。之后我正在做我的休息测试。
假设Jenkins正在找你的pom.xml进行编译。将Jenkins配置中的目标和选项设置为 的 编译包 强> 。然后Jenkins将尝试找到您的war文件并进行部署。 祝好运。
我遇到了同样的问题,在我的情况下,WAR文件的(相对)路径不正确。显然,如果你没有完全正确(它需要相对于工作区根目录),那么部署插件将无声地失败。就我而言,路径是:
目标/ whatever.war
一旦修复了,我遇到了一个不同的问题,即插件希望连接到Tomcat Manager的管理器/文本版本,而不是我通常默认配置的manager / html版本。您需要在tomcat-users.xml文件中添加一行,如下所示:
< user username =“tomcat”password =“pencil”roles =“manager-script”/>
(这是您可能已经设置的“manager-gui”角色的补充。)
完成这些更改后,构建和部署工作正常。
为配置Jenkins页面的用户保留角色manager-gui,admin-gui
例:-
<tomcat-users> <user username="uname" password="pword" roles="manager-gui,admin-gui"/> </tomcat-users>
对于它的价值,Jenkins的Deploy插件的最新版本似乎只需要基本URL。所以,对我来说,它是 http://blah.com:8080
在此之前,我尝试了许多其他选项,包括host-manager / html,host-manager / text