2016-03-14 94 views
0

将war文件部署到tomcat服务器首次获得成功(如果在webapps文件夹中找不到war文件)。再次构建战争文件并第二次部署失败并获得以下错误。使用jenkins将war文件重新部署到tomcat服务器失败

|Compiling 1 GSP file for package [jasper] 
.. 
|Building WAR file 
............................................................................................. 
|Done creating WAR target\ROOT.war 
Deploying G:\practice\jenkins\jobs\Grails-Jenkins\workspace\ccsystem\target\ROOT.war to container Tomcat 7.x Remote 
    [G:\practice\jenkins\jobs\Grails-Jenkins\workspace\ccsystem\target\ROOT.war] is not deployed. Doing a fresh deployment. 
    Deploying [G:\practice\jenkins\jobs\Grails-Jenkins\workspace\ccsystem\target\ROOT.war] 
ERROR: Build step failed with exception 
org.codehaus.cargo.container.ContainerException: Failed to deploy [G:\practice\jenkins\jobs\Grails-Jenkins\workspace\ccsystem\target\ROOT.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 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:990) 
    at hudson.FilePath.act(FilePath.java:968) 
    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:782) 
    at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:723) 
    at hudson.model.Build$BuildExecution.post2(Build.java:185) 
    at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:668) 
    at hudson.model.Run.execute(Run.java:1763) 
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43) 
    at hudson.model.ResourceController.execute(ResourceController.java:98) 
    at hudson.model.Executor.run(Executor.java:410) 
Caused by: java.io.IOException: Error writing request body to server 
    at sun.net.www.protocol.http.HttpURLConnection$StreamingOutputStream.checkError(HttpURLConnection.java:3192) 
    at sun.net.www.protocol.http.HttpURLConnection$StreamingOutputStream.write(HttpURLConnection.java:3175) 
    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) 
    ... 17 more 
java.io.IOException: Error writing request body to server 
    at sun.net.www.protocol.http.HttpURLConnection$StreamingOutputStream.checkError(HttpURLConnection.java:3192) 
    at sun.net.www.protocol.http.HttpURLConnection$StreamingOutputStream.write(HttpURLConnection.java:3175) 
    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) 
    at org.codehaus.cargo.container.tomcat.internal.AbstractTomcatManagerDeployer.redeploy(AbstractTomcatManagerDeployer.java:185) 
    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:990) 
    at hudson.FilePath.act(FilePath.java:968) 
    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:782) 
    at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:723) 
    at hudson.model.Build$BuildExecution.post2(Build.java:185) 
    at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:668) 
    at hudson.model.Run.execute(Run.java:1763) 
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43) 
    at hudson.model.ResourceController.execute(ResourceController.java:98) 
    at hudson.model.Executor.run(Executor.java:410) 
Build step 'Deploy war/ear to a container' marked build as failure 
Sending e-mails to: [email protected] 
Finished: FAILURE 
+0

尝试删除该文件,然后再将其放置在那里第二次..看看是否清除问题 – Vahid

+0

我们不想为每个部署手动执行。如果这种情况下没有使用詹金斯的情况。 –

+0

一个很好的习惯就是永远清理tomcat缓存目录。/work/Catalina/ – Arjang

回答

0

使用POST BUILD插件(或SSH插件与Exec command)。通常我们把有类似的脚本:

sleep 7 
rm -rf /home/tomcat_projectName/webapps/api.projectName.com 
rm -rf /home/tomcat_projectName/webapps/api.projectName.com.war 
cp /home/jenkins/jenkins-data/api.projectName.com.war /home/tomcat_projectName/webapps/api.projectName.com.war 
rm -rf /home/jenkins/jenkins-data/api.projectName.com.war 
/home/tomcat_projectName/bin/startup.sh 
0

使用的cargo:redeploy代替cargo:deploy应该解决的问题。

相关问题