Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将WAR部署构建回滚到Jenkins中较早成功的tomcat部署,同时使用Deploy WAR/ear来部署容器_Java_Tomcat_Jenkins_Deployment - Fatal编程技术网

Java 如何将WAR部署构建回滚到Jenkins中较早成功的tomcat部署,同时使用Deploy WAR/ear来部署容器

Java 如何将WAR部署构建回滚到Jenkins中较早成功的tomcat部署,同时使用Deploy WAR/ear来部署容器,java,tomcat,jenkins,deployment,Java,Tomcat,Jenkins,Deployment,我在Jenkins创建了一份工作,在那里我添加了一个“后期构建”操作,使用“将war/ear部署到容器”将war部署到运行中的Tomcat。这工作做得很好 由于某些原因(如context.xml中的未知JNDI)在tomcat上部署时出错,作业将失败 我想知道是否有任何方法可以将部署回滚到tomcat中以前的版本,以防从我的作业中部署失败。在tomcat中,您可以使用不同的名称部署war文件,例如不同的主版本。因此,在webapps文件夹中,您有两个war文件: 过程1.战争 过程2.战争

我在Jenkins创建了一份工作,在那里我添加了一个“后期构建”操作,使用“将war/ear部署到容器”将war部署到运行中的Tomcat。这工作做得很好

由于某些原因(如context.xml中的未知JNDI)在tomcat上部署时出错,作业将失败


我想知道是否有任何方法可以将部署回滚到tomcat中以前的版本,以防从我的作业中部署失败。

在tomcat中,您可以使用不同的名称部署war文件,例如不同的主版本。因此,在webapps文件夹中,您有两个war文件:

  • 过程1.战争
  • 过程2.战争
。。。以及相应的目录(至少,如果您在server.xml中设置了unpacwars=“true”autoDeploy=“true”):

  • 过程-1
  • 过程-2
此时两个版本都可用。标准应用程序url将默认为process_2


如果删除TeleSt2 WAR文件和目录,或等效地在Tomcat管理控制台中按下“unDebug”,旧版本将再次缺省,这意味着您已经回滚到旧版本。

您可以考虑使用Tomcat提出的“战争替换”解决方案。如果您这样做,我想如果新的war部署不正确,服务器将回滚替换。@Zorglube您能详细介绍一下“war替换”吗,或者给我指一些链接。据我所知。当您在tomcat的webapps文件夹中替换war时,tomcat将部署。但是,如果WAR文件被覆盖,它怎么能回滚呢?我不确定,但是,你会在这里发现一些东西