【发布时间】:2015-01-06 20:10:55
【问题描述】:
我正在使用 Jenkins 部署插件来部署到 Tomcat。生成的 .war 文件使用以下格式命名:MyApp##[version].[buildnumber].war
例如,war文件将生成为:MyApp##alpha.13.war
文件名中有哈希的原因是Tomcat manager html页面在部署的应用程序的版本列中列出版本。这样,我们可以仔细检查当前部署到 Tomcat 的版本。
现在当第二次尝试通过 Jenkins 进行部署时,内部版本号明显增加。所以会生成上面的war文件,文件名是:MyApp##alpha.14.war
现在失败,但出现以下异常:
部署 C:\Users\davidr.jenkins\jobs\Task Form Builder (主干)\workspace\target\TaskFormBuilder##alpha.21.war 到容器 Tomcat 7.x 远程重新部署 [C:\Users\davidr.jenkins\jobs\Task 表单生成器(主干)\workspace\target\TaskFormBuilder##alpha.21.war]
取消部署 [C:\Users\davidr.jenkins\jobs\Task Form Builder (主干)\workspace\target\TaskFormBuilder##alpha.21.war] 错误: 发布者 hudson.plugins.deploy.DeployPublisher 中止由于 异常 org.codehaus.cargo.container.ContainerException: 失败 取消部署 [C:\Users\davidr.jenkins\jobs\Task Form Builder (主干)\workspace\target\TaskFormBuilder##alpha.21.war] 在 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.invoke(CargoContainerAdapter.java:116) 在 hudson.plugins.deploy.CargoContainerAdapter$1.invoke(CargoContainerAdapter.java:103) 在 hudson.FilePath.act(FilePath.java:919) 在 hudson.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.perform(BuildStepMonitor.java:45) 在 hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:770) 在 hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:734) 在 hudson.model.Build$BuildExecution.post2(Build.java:183) 在 hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:683) 在 hudson.model.Run.execute(Run.java:1784) 在 hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43) 在 hudson.model.ResourceController.execute(ResourceController.java:89) 在 hudson.model.Executor.run(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) ... 17 更多 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) 在 org.codehaus.cargo.container.tomcat.internal.AbstractTomcatManagerDeployer.redeploy(AbstractTomcatManagerDeployer.java:178) 在 hudson.plugins.deploy.CargoContainerAdapter.deploy(CargoContainerAdapter.java:73) 在 hudson.plugins.deploy.CargoContainerAdapter$1.invoke(CargoContainerAdapter.java:116) 在 hudson.plugins.deploy.CargoContainerAdapter$1.invoke(CargoContainerAdapter.java:103) 在 hudson.FilePath.act(FilePath.java:919) 在 hudson.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.perform(BuildStepMonitor.java:45) 在 hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:770) 在 hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:734) 在 hudson.model.Build$BuildExecution.post2(Build.java:183) 在 hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:683) 在 hudson.model.Run.execute(Run.java:1784) 在 hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43) 在 hudson.model.ResourceController.execute(ResourceController.java:89) 在 hudson.model.Executor.run(Executor.java:240) 完成:失败
任何人都可以协助如何让 Jenkins 使用 tomcats 建议的命名约定(使用哈希指定版本)将战争文件重新部署到 Tomcat 吗?
【问题讨论】:
-
您是否找到了此查询的解决方案。
标签: tomcat jenkins jenkins-plugins