【问题标题】:Deploying web application in tomcat on Jenkins在 Jenkins 上的 tomcat 中部署 Web 应用程序
【发布时间】:2015-02-27 13:36:27
【问题描述】:

我正在使用 Jenkins 在 Tomcat7 上部署 Web 应用程序。
Tomcat 作为 Windows 服务安装,它具有 SWebServer 名称(安装路径:C:\Program Files (x86)\SWebServer)。 Jenkins 也作为 Windows 服务安装。应用程序war文件位置为:C:\Program Files (x86)\Jenkins\jobs\test4\workspace\target\prj.war

这是我的配置:

但我得到以下异常

Deploying C:\Program Files (x86)\Jenkins\jobs\test4\workspace\target\prj.war to container Tomcat 7.x Remote
ERROR: Build step failed with exception
org.codehaus.cargo.container.ContainerException: Failed to redeploy [C:\Program Files (x86)\Jenkins\jobs\test4\workspace\target\prj.war]
       at org.codehaus.cargo.container.tomcat.internal.AbstractTomcatManagerDeployer.redeploy(AbstractTomcatManagerDeployer.java:193)
       at hudson.plugins.deploy.CargoContainerAdapter.deploy(CargoContainerAdapter.java:73)
       at hudson.plugins.deploy.CargoContainerAdapter$1.invoke(CargoContainerAdapter.java:116)
       at hudson.plugins.deploy.CargoContainerAdapter$1.invoke(CargoContainerAdapter.java:103)
       at hudson.FilePath.act(FilePath.java:989)
       at hudson.FilePath.act(FilePath.java:967)
       at hudson.plugins.deploy.CargoContainerAdapter.redeploy(CargoContainerAdapter.java:103)
       at hudson.plugins.deploy.DeployPublisher.perform(DeployPublisher.java:61)
       at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:45)
       at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:761)
       at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:721)
       at hudson.model.Build$BuildExecution.post2(Build.java:183)
       at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:670)
       at hudson.model.Run.execute(Run.java:1743)
       at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
       at hudson.model.ResourceController.execute(ResourceController.java:89)
       at hudson.model.Executor.run(Executor.java:240)
Caused by: java.net.ConnectException: Connection refused: connect
       at java.net.DualStackPlainSocketImpl.connect0(Native Method)
       at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)
       at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
       at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
       at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
       at java.net.PlainSocketImpl.connect(Unknown Source)
       at java.net.SocksSocketImpl.connect(Unknown Source)
       at java.net.Socket.connect(Unknown Source)
       at java.net.Socket.connect(Unknown Source)
       at sun.net.NetworkClient.doConnect(Unknown Source)
       at sun.net.www.http.HttpClient.openServer(Unknown Source)
       at sun.net.www.http.HttpClient.openServer(Unknown Source)
       at sun.net.www.http.HttpClient.<init>(Unknown Source)
       at sun.net.www.http.HttpClient.New(Unknown Source)
       at sun.net.www.http.HttpClient.New(Unknown Source)
       at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(Unknown Source)
       at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source)
       at sun.net.www.protocol.http.HttpURLConnection.connect(Unknown Source)
       at org.codehaus.cargo.container.tomcat.internal.TomcatManager.invoke(TomcatManager.java:534)
       at org.codehaus.cargo.container.tomcat.internal.TomcatManager.list(TomcatManager.java:686)
       at org.codehaus.cargo.container.tomcat.internal.TomcatManager.getStatus(TomcatManager.java:699)
       at org.codehaus.cargo.container.tomcat.internal.AbstractTomcatManagerDeployer.redeploy(AbstractTomcatManagerDeployer.java:174)
... 16 more
java.net.ConnectException: Connection refused: connect
       at java.net.DualStackPlainSocketImpl.connect0(Native Method)
       at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)
       at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
       at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
       at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
       at java.net.PlainSocketImpl.connect(Unknown Source)
       at java.net.SocksSocketImpl.connect(Unknown Source)
       at java.net.Socket.connect(Unknown Source)
       at java.net.Socket.connect(Unknown Source)
       at sun.net.NetworkClient.doConnect(Unknown Source)
       at sun.net.www.http.HttpClient.openServer(Unknown Source)
       at sun.net.www.http.HttpClient.openServer(Unknown Source)
       at sun.net.www.http.HttpClient.<init>(Unknown Source)
       at sun.net.www.http.HttpClient.New(Unknown Source)
       at sun.net.www.http.HttpClient.New(Unknown Source)
       at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(Unknown Source)
       at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source)
       at sun.net.www.protocol.http.HttpURLConnection.connect(Unknown Source)
       at org.codehaus.cargo.container.tomcat.internal.TomcatManager.invoke(TomcatManager.java:534)
       at org.codehaus.cargo.container.tomcat.internal.TomcatManager.list(TomcatManager.java:686)
       at org.codehaus.cargo.container.tomcat.internal.TomcatManager.getStatus(TomcatManager.java:699)
       at org.codehaus.cargo.container.tomcat.internal.AbstractTomcatManagerDeployer.redeploy(AbstractTomcatManagerDeployer.java:174)
       at hudson.plugins.deploy.CargoContainerAdapter.deploy(CargoContainerAdapter.java:73)
       at hudson.plugins.deploy.CargoContainerAdapter$1.invoke(CargoContainerAdapter.java:116)
       at hudson.plugins.deploy.CargoContainerAdapter$1.invoke(CargoContainerAdapter.java:103)
       at hudson.FilePath.act(FilePath.java:989)
       at hudson.FilePath.act(FilePath.java:967)
       at hudson.plugins.deploy.CargoContainerAdapter.redeploy(CargoContainerAdapter.java:103)
       at hudson.plugins.deploy.DeployPublisher.perform(DeployPublisher.java:61)
       at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:45)
       at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:761)
       at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:721)
       at hudson.model.Build$BuildExecution.post2(Build.java:183)
       at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:670)
       at hudson.model.Run.execute(Run.java:1743)
       at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
       at hudson.model.ResourceController.execute(ResourceController.java:89)
       at hudson.model.Executor.run(Executor.java:240)



什么问题?

【问题讨论】:

  • 这个问题解决了吗?

标签: jenkins tomcat7


【解决方案1】:

改变跟随;

在 conf/tomcat-user 添加:

<user username="test" password="passTest" roles="manager-script"/>

在詹金斯,

EAR/WAR file: **/*.war
context path: prj
Tomcat URL : http://localhost:8080

【讨论】:

    【解决方案2】:

    您需要了解几件事。

    1. EAR/WAR:提及文件的位置 --> 如果 WAR 在父文件夹中,您可以使用 *.war,如果在子文件夹中,则使用 **/*.war
    2. ContextPath: 你希望在 tomcat 中部署战争的位置 --> / 将起作用 很好
    3. Tomcat URL : 部署 tomcat 的端口,你可能会遇到一些问题,比如端口已经在使用中,将 server.xml 中的端口更改为你喜欢的端口:)

      &lt;user username="uname" password="pwd" roles="manager-script,manager-gui"/&gt;

    然后可以在 tomcat-users.xml 中指定上面的行 --> 您只需使用具有以下权限的用户授予 jenkins 访问权限

    • manager-gui — 访问 HTML 界面
    • manager-script - 访问本文档中描述的工具友好的纯文本界面,以及“服务器状态”页面。

    附:在部署之前启动 tomcat,这是连接被拒绝的原因之一:P

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-11
      • 1970-01-01
      • 1970-01-01
      • 2011-01-14
      • 2012-06-23
      • 2022-07-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多