2015-01-28 18 views
5

ho Jenkins 1.598. Installo auto plug-in distribuzione Jenkins (ma non lo è per Tomcat 8, non c'è alcun aggiornamento ancora).perché Jenkins 1.598 e Tomcat 8 distribuzione automatica non funziona

Tutto ha funzionato bene! Al termine della compilazione, viene avviata la ridistribuzione. Ma a volte ho un tale errore, e non capisco quando e perché succede. Quando riavvio Tomcat, tutto va di nuovo bene!

Deploying C:\jenkins\test\target\tr-gui.war to container Tomcat 7.x Remote 
     Redeploying [C:\jenkins\test\target\tr-gui.war] 
     Undeploying [C:\jenkins\test\target\tr-gui.war] 
    ERROR: Publisher hudson.plugins.deploy.DeployPublisher aborted due to exception 
    org.codehaus.cargo.container.ContainerException: Failed to undeploy [C:\jenkins\test\target\tr-gui.war] 
     at org.codehaus.cargo.container.tomcat.internal.AbstractTomcatManagerDeployer.undeploy(AbstractTomcatManagerDeployer.java:140) 
     at org.codehaus.cargo.container.tomcat.internal.AbstractTomcatManagerDeployer.redeploy(AbstractTomcatManagerDeployer.java:178) 
     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:981) 
     at hudson.FilePath.act(FilePath.java:959) 
     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:770) 
     at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:734) 
     at hudson.model.Build$BuildExecution.post2(Build.java:183) 
     at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:683) 
     at hudson.model.Run.execute(Run.java:1784) 
     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: org.codehaus.cargo.container.tomcat.internal.TomcatManagerException: FAIL - Unable to delete [C:\servers\tomcat 8\webapps\test]. The continued presence of this file may cause problems. 

     at org.codehaus.cargo.container.tomcat.internal.TomcatManager.invoke(TomcatManager.java:566) 
     at org.codehaus.cargo.container.tomcat.internal.TomcatManager.invoke(TomcatManager.java:480) 
     at org.codehaus.cargo.container.tomcat.internal.TomcatManager.undeploy(TomcatManager.java:420) 
     at org.codehaus.cargo.container.tomcat.Tomcat7xRemoteDeployer.performUndeploy(Tomcat7xRemoteDeployer.java:62) 
     at org.codehaus.cargo.container.tomcat.internal.AbstractTomcatManagerDeployer.undeploy(AbstractTomcatManagerDeployer.java:130) 
     ... 17 more 
    org.codehaus.cargo.container.tomcat.internal.TomcatManagerException: FAIL - Unable to delete [C:\servers\tomcat 8\webapps\tr-gui]. The continued presence of this file may cause problems. 

     at org.codehaus.cargo.container.tomcat.internal.TomcatManager.invoke(TomcatManager.java:566) 
     at org.codehaus.cargo.container.tomcat.internal.TomcatManager.invoke(TomcatManager.java:480) 
     at org.codehaus.cargo.container.tomcat.internal.TomcatManager.undeploy(TomcatManager.java:420) 
     at org.codehaus.cargo.container.tomcat.Tomcat7xRemoteDeployer.performUndeploy(Tomcat7xRemoteDeployer.java:62) 
     at org.codehaus.cargo.container.tomcat.internal.AbstractTomcatManagerDeployer.undeploy(AbstractTomcatManagerDeployer.java:130) 
     at org.codehaus.cargo.container.tomcat.internal.AbstractTomcatManagerDeployer.redeploy(AbstractTomcatManagerDeployer.java:178) 
     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:981) 
     at hudson.FilePath.act(FilePath.java:959) 
     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:770) 
     at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:734) 
     at hudson.model.Build$BuildExecution.post2(Build.java:183) 
     at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:683) 
     at hudson.model.Run.execute(Run.java:1784) 
     at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43) 
     at hudson.model 

.ResourceController.execute(ResourceController.java:89) 
    at hudson.model.Executor.run(Executor.java:240) 
Sending e-mails to: [email protected] 
Finished: FAILURE 

risposta

1

penso che al momento le applicazioni di test e TR-gui non sono stati chiusi correttamente.

Ecco un vecchio commento di Matt Mello (da this bug report):

Ho avuto lo stesso problema.

Si scopre che abbiamo avuto un setup appender log4j nella nostra applicazione per aggiungere ad un file HTML nella directory della nostra webapp, e apparentemente Log4J sarebbe non rilasciare il file fino a quando non correttamente spegnere l'appenders. Spegnimento l'applicazione non era abbastanza. Ciò potrebbe essere dovuto al fatto che log4j stesso viene caricato da Tomcat anziché dalla app? Non sicuro.

In ogni caso, ho aggiunto il codice nella servlet distruggere metodo per la pulitura delle appenders e questo assicurato che il file è stato chiuso in modo che Tomcat potrebbe cancellare la directory.

[non hanno nemmeno fatemi sulle questioni di sicurezza coinvolte in quello che stavamo facendo . Questo è un altro argomento.]

Nota che la velocità potrebbe anche scrivere alcuni registri nella directory del tuo webapp. Credo di averlo già visto prima.

Problemi correlati