web项目发布中一般我们会选择war包发布,后续的代码修复及更新中有的也会选择war包发布,但是这样会存在极大风险,这里记录一种增量发布的方法。
- 在WebContent下新建一个build_XXXX.xml文件。其中xxxx为工程名
<?xml version="1.0" encoding="UTF-8"?>
<project name="xxxx">
<property name="basedir" value="." />
<copy todir="D:/xxxxUpdate/20180109/xxxx">
<fileset dir="Y:/workspace/xxxx/WebContent">
<include name="**/WEB-INF/classes/net/fq/sysmanage/Login.class" />
<include name="**/WEB-INF/classes/applicationContext.xml"/>
<include name="**/pages/imAccessSystem/add.html"/>
</fileset>
</copy>
</project>
- 在build_XXXX.xml中将要更新的类、配置、页面、静态资源添加进去。todir定义了增量包生成的路径。dir定义项目所在的工作区间。
- 鼠标右键点击 Run As -->选择 Ant Build ,build_XXXX.xml就会运行生成增量包,有时候第一次运行会报错,忽略,再运行一下就好了。
- 我们进入到todir目录中,检查是否有遗漏,若有遗漏查看build_XXXX.xml中的路径是否正确。
- 我的项目是linux下增量发布的,而且是war包解压发布,所以我会将生成的增量包打成压缩包,XXXX.zip的一个压缩包,然后上传到服务器上该工程的同级目录,如/app/webAPP/XXXX 其中XXXX为工程,将XXXX.zip 放在/app/webApp 目录下,执行unzip -o XXXX.zip 即可增量更新。
该方法不需要引入jar包,也不需要编写Java代码,比较简单易用。