将 "versioned" war 文件从 Jenkins 重新部署到 Tomcat 失败



我正在使用Jenkins部署插件部署到Tomcat。生成的.war文件使用以下格式命名:MyApp##[version].[buildnumber].war

例如,war文件将生成为:MyApp##alpha.13.war

文件名中的哈希值是为了让Tomcat管理器html页面在已部署应用程序的版本列中列出版本。通过这种方式,我们可以再次检查当前部署到Tomcat的是哪个版本。

现在,当尝试通过Jenkins第二次部署时,构建号明显增加。因此,上面的war文件将以文件名生成:MyApp##alpha.14.war

现在失败了,出现以下异常:

部署C:Usersdavidr.jenkinsjobs任务表单生成器(树干) workspace TaskFormBuilder # # alpha.21目标。集装箱战争Tomcat 7。x远程重新部署[C:Usersdavidr.jenkinsjobsTask . x表单生成器(trunk)workspacetargetTaskFormBuilder##alpha.21。战争]
取消部署(C: davidr用户。jenkinsjobs任务表单生成器(树干) workspace TaskFormBuilder # # alpha.21目标。战争)错误:Publisher . hudson.plugins.deploy.DeployPublisher因org.codehaus.cargo.container.ContainerException: Failed to取消部署(C: davidr用户。jenkinsjobs任务表单生成器(树干) workspace TaskFormBuilder # # alpha.21目标。战争)org.codehaus.cargo.container.tomcat.internal.AbstractTomcatManagerDeployer.undeploy (AbstractTomcatManagerDeployer.java: 140)在org.codehaus.cargo.container.tomcat.internal.AbstractTomcatManagerDeployer.redeploy (AbstractTomcatManagerDeployer.java: 178)在hudson.plugins.deploy.CargoContainerAdapter.deploy (CargoContainerAdapter.java: 73)在调用hudson.plugins.deploy.CargoContainerAdapter 1.美元(CargoContainerAdapter.java: 116)在调用hudson.plugins.deploy.CargoContainerAdapter 1.美元(CargoContainerAdapter.java: 103)(FilePath.java:919hudson.FilePath.act (FilePath.java: 897)hudson.plugins.deploy.CargoContainerAdapter.redeploy (CargoContainerAdapter.java: 103)在hudson.plugins.deploy.DeployPublisher.perform (DeployPublisher.java: 61)在hudson.tasks.BuildStepMonitor执行3.美元(BuildStepMonitor.java: 45)在hudson.model.AbstractBuild AbstractBuildExecution.perform美元(AbstractBuild.java: 770)在hudson.model.AbstractBuild AbstractBuildExecution.performAllBuildSteps美元(AbstractBuild.java: 734)$BuildExecution.post2(Build.java:183hudson.model.AbstractBuild AbstractBuildExecution.post美元(AbstractBuild.java: 683)运行(Run.java:1784hudson.model.FreeStyleBuild.run (FreeStyleBuild.java: 43)hudson.model.ResourceController.execute (ResourceController.java: 89)运行(Executor.java:240)org.codehaus.cargo.container.tomcat.internal.TomcatManagerException:/TaskFormBuilder##alpha.21

在org.codehaus.cargo.container.tomcat.internal.TomcatManager.invoke (TomcatManager.java: 566)在org.codehaus.cargo.container.tomcat.internal.TomcatManager.invoke (TomcatManager.java: 480)在org.codehaus.cargo.container.tomcat.internal.TomcatManager.undeploy (TomcatManager.java: 420)在org.codehaus.cargo.container.tomcat.Tomcat7xRemoteDeployer.performUndeploy (Tomcat7xRemoteDeployer.java: 62)在org.codehaus.cargo.container.tomcat.internal.AbstractTomcatManagerDeployer.undeploy (AbstractTomcatManagerDeployer.java: 130)…17org.codehaus.cargo.container.tomcat.internal.TomcatManagerException:/TaskFormBuilder##alpha.21

在org.codehaus.cargo.container.tomcat.internal.TomcatManager.invoke (TomcatManager.java: 566)在org.codehaus.cargo.container.tomcat.internal.TomcatManager.invoke (TomcatManager.java: 480)在org.codehaus.cargo.container.tomcat.internal.TomcatManager.undeploy (TomcatManager.java: 420)在org.codehaus.cargo.container.tomcat.Tomcat7xRemoteDeployer.performUndeploy (Tomcat7xRemoteDeployer.java: 62)在org.codehaus.cargo.container.tomcat.internal.AbstractTomcatManagerDeployer.undeploy (AbstractTomcatManagerDeployer.java: 130)在org.codehaus.cargo.container.tomcat.internal.AbstractTomcatManagerDeployer.redeploy (AbstractTomcatManagerDeployer.java: 178)在hudson.plugins.deploy.CargoContainerAdapter.deploy (CargoContainerAdapter.java: 73)在调用hudson.plugins.deploy.CargoContainerAdapter 1.美元(CargoContainerAdapter.java: 116)在调用hudson.plugins.deploy.CargoContainerAdapter 1.美元(CargoContainerAdapter.java: 103)(FilePath.java:919hudson.FilePath.act (FilePath.java: 897)hudson.plugins.deploy.CargoContainerAdapter.redeploy (CargoContainerAdapter.java: 103)在hudson.plugins.deploy.DeployPublisher.perform (DeployPublisher.java: 61)在hudson.tasks.BuildStepMonitor执行3.美元(BuildStepMonitor.java: 45)在hudson.model.AbstractBuild AbstractBuildExecution.perform美元(AbstractBuild.java: 770)在hudson.model.AbstractBuild AbstractBuildExecution.performAllBuildSteps美元(AbstractBuild.java: 734)$BuildExecution.post2(Build.java:183hudson.model.AbstractBuild AbstractBuildExecution.post美元(AbstractBuild.java: 683)运行(Run.java:1784hudson.model.FreeStyleBuild.run (FreeStyleBuild.java: 43)hudson.model.ResourceController.execute (ResourceController.java: 89)execute (execute .java:240) Finished: FAILURE

谁能帮助如何让Jenkins重新部署一个war文件到Tomcat使用Tomcat建议的命名约定(使用哈希所以指定版本)?

我想你会发现部署实际上是工作的,它只是报告错误。

这是部署器插件或货物代码中的错误,请参阅JIRA问题https://issues.jenkins-ci.org/browse/JENKINS-19564。

最新更新