当前位置: 首页 > 知识库问答 >
问题:

将“版本化”war文件从Jenkins重新部署到Tomcat失败

沃宇
2023-03-14

我正在使用Jenkins部署插件部署到Tomcat。这个生成的war文件使用以下格式命名:MyApp##[版本]。[buildnumber]。战争

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

文件名中出现哈希的原因是Tomcat manager html页面在部署的应用程序的版本列中列出了版本。这样,我们可以再次检查当前部署到Tomcat的版本。

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

这现在失败,但有以下例外:

部署C:\用户\davidr.jenkins\作业\任务表单生成器(主干)\工作区\目标\TaskFormBuilder##alpha.21.war容器Tomcat 7. x远程重新部署[C:\用户\davidr.jenkins\作业\任务表单生成器(主干)\工作区\目标\TaskFormBuilder##<--plhd-3/>]
取消部署[C:\用户\davidr.jenkins\作业\任务表单生成器(主干)\工作空间\目标\TaskFormBuilder##alpha.21.war]错误:发布服务器hudson.plugins.deploy.部署发布服务器由于异常而中止org.codehaus.cargo.container.容器异常:取消部署失败[C:\用户\davidr.jenkins\作业\任务表单生成器(主干)\工作空间\目标\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.CargoContainerAdapter1美元。在hudson的CargoContainerAdapter1美元。FilePath. act(FilePath. java: 919)at hudson.FilePath. act(FilePath. java: 897)at hudson. plugins.部署。重新部署(CargoContainerAdapter. java: 103)在hudson. tasks上执行(DeployPublisher. java: 61)。BuildStepMonitor 3美元。执行(BuildStepMonitor. java: 45)AbstractBuild$AbstractBuildExect. show(AbstractBuild. java: 770)at hudson. Model.AbstractBuild$AbstractBuildExect. performAllBuildSteps(AbstractBuild. java: 734)at hudson. Model.在hudson. model上构建$BuildExect. post2(Build. java: 183)。AbstractBuild$AbstractBuildEx. post(AbstractBuild. java: 683)在hudson. Model.运行。执行(Run. java: 1784)在hudson. Model。FreeStyleBuild. run(FreeStyleBuild. java: 43)at hudson. model.执行(ResourceController. java: 89)在hudson. Model。Executor. run(Executor. java: 240)引起:org. codehaus. cargo.容器. tomcat. interal。失败-路径 /TaskFormBuilder##alpha.21不存在上下文

在org。科德豪斯。货物容器公猫内部的TomcatManager。在org上调用(TomcatManager.java:566)。科德豪斯。货物容器公猫内部的TomcatManager。在org调用(TomcatManager.java:480)。科德豪斯。货物容器公猫内部的TomcatManager。在org上取消部署(TomcatManager.java:420)。科德豪斯。货物容器公猫Tomcat7xRemoteDeployer。performUndeploy(Tomcat7xRemoteDeployer.java:62)位于org。科德豪斯。货物容器公猫内部的抽象TomcatManagerDeployer。取消部署(AbstractTomcatManagerDeployer.java:130)。。。还有17个组织。科德豪斯。货物容器公猫内部的TomcatManagerException:FAIL-路径/TaskFormBuilder##alpha不存在上下文。21

在org。科德豪斯。货物容器公猫内部的TomcatManager。在org上调用(TomcatManager.java:566)。科德豪斯。货物容器公猫内部的TomcatManager。在org调用(TomcatManager.java:480)。科德豪斯。货物容器公猫内部的TomcatManager。在org上取消部署(TomcatManager.java:420)。科德豪斯。货物容器公猫Tomcat7xRemoteDeployer。performUndeploy(Tomcat7xRemoteDeployer.java:62)位于org。科德豪斯。货物容器公猫内部的抽象TomcatManagerDeployer。在org上取消部署(AbstractTomcatManagerDeployer.java:130)。科德豪斯。货物容器公猫内部的抽象TomcatManagerDeployer。在hudson重新部署(AbstractTomcatManagerDeployer.java:178)。插件。部署集装箱适配器。在hudson部署(CargoContainerAdapter.java:73)。插件。部署CargoContainerAdapter 1美元。在hudson调用(CargoContainerAdapter.java:116)。插件。部署CargoContainerAdapter 1美元。在hudson调用(CargoContainerAdapter.java:103)。文件路径。哈德逊的act(FilePath.java:919)。文件路径。哈德逊的act(FilePath.java:897)。插件。部署集装箱适配器。在哈德逊重新部署(CargoContainerAdapter.java:103)。插件。部署部署发布者。在hudson执行(DeployPublisher.java:61)。任务。BuildStepMonitor 3美元。在hudson执行(BuildStepMonitor.java:45)。模型AbstractBuild$AbstractBuildExecution。在hudson执行(AbstractBuild.java:770)。模型AbstractBuild$AbstractBuildExecution。hudson的PerformalBuildSteps(AbstractBuild.java:734)。模型Build$BuildExecution。hudson的post2(Build.java:183)。模型AbstractBuild$AbstractBuildExecution。在hudson发布(AbstractBuild.java:683)。模型跑在hudson执行(Run.java:1784)。模型自由泳。在hudson运行(FreeStyleBuild.java:43)。模型资源控制员。在hudson执行(ResourceController.java:89)。模型遗嘱执行人。运行(Executor.java:240)完成:失败

有谁能帮助Jenkins使用Tomcat建议的命名约定(使用哈希以便指定版本)将war文件重新部署到Tomcat?

共有1个答案

范飞翰
2023-03-14

我想您会发现部署实际上是有效的,它只是报告了错误。

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

 类似资料:
  • 我正在使用Jenkins部署插件部署到Tomcat。生成的.war文件使用以下格式命名:myapp##[version].[buildnumber].war 文件名中出现散列的原因是为了让Tomcat manager html页面在已部署应用程序的版本列中列出版本。这样,我们就可以仔细检查当前部署到Tomcat的版本。 现在,当尝试通过Jenkins进行第二次部署时,构建数明显增加。因此,将生成上

  • 问题内容: 我在装有Tomcat 8的同一服务器上运行Jenkins 1.6(并且也尝试使用Jenkins 2.0)。我需要将Maven多模块应用程序部署到Tomcat Web应用程序。它有两个必须部署的子模块中的war文件。Deploy插件最多支持Tomcat 7,并且工作正常。但是,问题是我需要使用Tomcat 8,因为我的Web应用程序无法在Tomcat 7上运行。是否可以将War文件从Je

  • 我有一个Spring Boot Java应用程序,我已经按照教程进行了设置,以便构建一个WAR。我正试图使用Jenkins将这个WAR文件部署到远程Tomcat 7服务器。当我告诉Jenkins构建和部署应用程序时,登录Jenkins表明一切都是成功的。如果我登录到托管Tomcat的远程服务器,我可以看到WAR被复制到服务器。如果我查看日志文件,它会显示以下内容: 如果我进入tomcat管理器应用

  • 我试图将WAR文件加载到Tomcat 7中,并使用eclipse启动或停止服务器。 我将war文件粘贴到TOMCAT_HOME/webapps文件夹中,启动了服务器。 服务器启动正常,我收到下面的控制台消息。 但当我试图访问我的应用程序时,它给了我错误404,找不到文件。 我查看了TOMCAT_HOME/webapps应用程序,发现了我的war文件和一个同名文件夹——“JavaServerFace

  • 我正在使用spring boot,我想将一个rest API war文件部署到tomcat服务器中。tomcat服务器日志中没有错误,但当我调用任何endpoint时,我得到的是404“not found”,而我从tomcat服务器得到的是相同的。 java版本:8。tomcat版本:9。 也许我错过了什么,下面是我的代码示例: Pom: 2.application.java