JetBrains / teamcity-deployer-plugin

Deployer plugin for TeamCity CI server
http://confluence.jetbrains.net/display/TW/Deployer+plugin
Apache License 2.0
39 stars 29 forks source link

Deploy to Tomcat 7 fails with java.io.Exception: Error writing request body to server #54

Closed peraage closed 9 years ago

peraage commented 9 years ago

Deployment fails as stated above, while deployment from same machine as agent using curl works fine. Looks like the agent succeeds with listing webs, but fails to deploy.

Logs from Tomcat server:

127.0.0.1 - deployer [23/Mar/2015:11:21:33 +0100] "GET /manager/text/list HTTP/1.0" 200 225

Logs from build agent:

[2015-03-23 11:20:37,690] ERROR - jetbrains.buildServer.AGENT - org.codehaus.cargo.container.ContainerException: Failed to deploy [/home/buildagent/buildagent/work/a0f3b04d061b2cc0/auksjonen-prototype -1.0.0-SNAPSHOT.war]

jetbrains.buildServer.RunBuildException: org.codehaus.cargo.container.ContainerException: Failed to deploy [/home/buildagent/buildagent/work/a0f3b04d061b2cc0/auksjonen-prototype-1.0.0-SNAPSHOT.war] at jetbrains.buildServer.deployer.agent.cargo.CargoBuildProcessAdapter.runProcess(CargoBuildProcessAdapter.java:104) at jetbrains.buildServer.deployer.agent.SyncBuildProcessAdapter.start(SyncBuildProcessAdapter.java:58) at jetbrains.buildServer.agent.impl.buildStages.runnerStages.start.CallRunnerStage.doBuildStage(CallRunnerStage.java:58) at jetbrains.buildServer.agent.impl.buildStages.RunnerStagesExecutor$1.callStage(RunnerStagesExecutor.java:25) at jetbrains.buildServer.agent.impl.buildStages.RunnerStagesExecutor$1.callStage(RunnerStagesExecutor.java:18) at jetbrains.buildServer.agent.impl.buildStages.StagesExecutor.callRunStage(StagesExecutor.java:78) at jetbrains.buildServer.agent.impl.buildStages.StagesExecutor.doStages(StagesExecutor.java:37) at jetbrains.buildServer.agent.impl.buildStages.RunnerStagesExecutor.doStages(RunnerStagesExecutor.java:18) at jetbrains.buildServer.agent.impl.buildStages.startStages.steps.RunnerContextExecutor.callRunnerStages(RunnerContextExecutor.java:43) at jetbrains.buildServer.agent.impl.buildStages.startStages.steps.StepExecutor.processNextStep(StepExecutor.java:25) at jetbrains.buildServer.agent.impl.buildStages.startStages.steps.ForEachBuildRunnerStage.executeRunnerStep(ForEachBuildRunnerStage.java:138) at jetbrains.buildServer.agent.impl.buildStages.startStages.steps.ForEachBuildRunnerStage.runStep(ForEachBuildRunnerStage.java:123) at jetbrains.buildServer.agent.impl.buildStages.startStages.steps.ForEachBuildRunnerStage.executeBuildRunners(ForEachBuildRunnerStage.java:83) at jetbrains.buildServer.agent.impl.buildStages.startStages.steps.ForEachBuildRunnerStage.doBuildStage(ForEachBuildRunnerStage.java:44) at jetbrains.buildServer.agent.impl.buildStages.BuildStagesExecutor$1.callStage(BuildStagesExecutor.java:31) at jetbrains.buildServer.agent.impl.buildStages.BuildStagesExecutor$1.callStage(BuildStagesExecutor.java:24) at jetbrains.buildServer.agent.impl.buildStages.StagesExecutor.callRunStage(StagesExecutor.java:78) at jetbrains.buildServer.agent.impl.buildStages.StagesExecutor.doStages(StagesExecutor.java:37) at jetbrains.buildServer.agent.impl.buildStages.BuildStagesExecutor.doStages(BuildStagesExecutor.java:24) at jetbrains.buildServer.agent.impl.BuildRunActionImpl.doStages(BuildRunActionImpl.java:70) at jetbrains.buildServer.agent.impl.BuildRunActionImpl.runBuild(BuildRunActionImpl.java:50) at jetbrains.buildServer.agent.impl.BuildAgentImpl.doActualBuild(BuildAgentImpl.java:266) at jetbrains.buildServer.agent.impl.BuildAgentImpl.access$100(BuildAgentImpl.java:51) at jetbrains.buildServer.agent.impl.BuildAgentImpl$1.run(BuildAgentImpl.java:231) at java.lang.Thread.run(Thread.java:745) Caused by: org.codehaus.cargo.container.ContainerException: Failed to deploy [/home/buildagent/buildagent/work/a0f3b04d061b2cc0/auksjonen-prototype-1.0.0-SNAPSHOT.war] at org.codehaus.cargo.container.tomcat.internal.AbstractTomcatManagerDeployer.deploy(AbstractTomcatManagerDeployer.java:111) at org.codehaus.cargo.container.tomcat.internal.AbstractTomcatManagerDeployer.redeploy(AbstractTomcatManagerDeployer.java:185) at jetbrains.buildServer.deployer.agent.cargo.CargoBuildProcessAdapter.runProcess(CargoBuildProcessAdapter.java:102) ... 24 more Caused by: java.io.IOException: Error writing request body to server at sun.net.www.protocol.http.HttpURLConnection$StreamingOutputStream.checkError(HttpURLConnection.java:3478) at sun.net.www.protocol.http.HttpURLConnection$StreamingOutputStream.write(HttpURLConnection.java:3461) at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82) at java.io.BufferedOutputStream.write(BufferedOutputStream.java:126) at org.codehaus.cargo.container.tomcat.internal.TomcatManager.pipe(TomcatManager.java:647) at org.codehaus.cargo.container.tomcat.internal.TomcatManager.invoke(TomcatManager.java:538) at org.codehaus.cargo.container.tomcat.internal.TomcatManager.deployImpl(TomcatManager.java:611) at org.codehaus.cargo.container.tomcat.internal.TomcatManager.deploy(TomcatManager.java:291) at org.codehaus.cargo.container.tomcat.internal.AbstractTomcatManagerDeployer.deploy(AbstractTomcatManagerDeployer.java:102) ... 26 more

peraage commented 9 years ago

The problem seems to be that deployment is through a proxy, moving the teamcity server inside of the proxy works. Still doesn't explain why it fails outside though, since deployment works using curl.

nskvortsov commented 9 years ago

@peraage thank you for the followup. The failure is due to deployer does not have http proxy settings, so this request duplicates the #52

adoraisa commented 7 years ago

I was also struggling with this error for sometime.

Error deploying! : java.io.IOException: Error writing request body to server at org.apache.catalina.ant.AbstractCatalinaTask.execute(AbstractCatalinaTask.java:264)

And, finally found that there was some improper configuration on tomcat-users.xml file, I haven't defined rolename earlier.....

Changed the ## tomcat-users.xml file as below, it worked


<role rolename="manager-gui"/>
<user username="admin" password="password" roles="manager-gui,admin-gui"/>