(资料图片)
SpringBoot项目部署,一般都是打全量jar包,通常一个jar包的都是超过100M的。如果进行一般的页面html微调、js修改、img替换、css样式修改时都需要重新打包进行部署。每次进行微小的调整都要对整个大文件重新上传更新部署,实在是太麻烦了。
今天谈一下SpringBoot的增量部署方式,把引用的jar和静态资源分离。更新的时候只关注变化的文件,加快更新速度。
分离jar包分离jar可以采用两种方式:
可以打一个全量的jar包,然后解压,在BOOT-INF文件中找到lib文件夹,拷贝出来。使用maven分离jar包。插件pom文件如下:org.apache.maven.plugins maven-dependency-plugin copy package copy-dependencies ${project.build.directory}/lib
把lib文件复制出来即可。
分离静态资源在lib同目录下创建resource文件夹,进入代码resource文件夹内复制static文件夹及config文件到resource文件下。如图:
增量打包打包结果:启动org.springframework.boot spring-boot-maven-plugin exec true com.zhangls.frame.FrameApplication ZIP non-exists non-exists repackage
把可执行jar包复制到 lib、resource同级文件夹。
执行:java -Dloader.path=./lib,./resource -jar .\frame-0.0.1-SNAPSHOT-exec.jar
说明进行增量打包后,如果前端有不涉及到后端的修改时都可以对resource中的文件进行替换,且不用重启服务。后端如果有更改,只用更新有变化的jar包即可。如果在项目修改过程中引用了新的jar包,需要把新引用的jar包上传至lib文件夹。