您当前的位置:首页 > 计算机 > 服务器 > Tomcat

tomcat部署时项目文件夹消失

时间:01-26来源:作者:点击数:

昨天甲方想要去部署项目问我目录结构,我登上堡垒机去截图给他并将线上的项目做个备份,做了备份之后我顺手就把war包删了。然后让他们登录上去进行部署,他们说webapps项目文件夹中是空的。然后让他们赶紧把最新的war包扔上去,他们又怎么都部署不好,只好又把修改的文件发给我我重新打包再部署,导致一汽线上数据不能显示差不多半小时。文件夹消失的主要原因在于我把war包删除了,总结一下原因。并甲方提到了全量部署、增量部署两个名词没听说过,查一下。


tomcat配置文件:
<Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true">
  • autoDeploy:为true时,自动部署。表示tomcat在运行状态时,可以监测appBase即默认webapps文件夹下的文件,如果有文件加入,则自动发布这个应用。如果war包删除,相应的文件夹也会被删除。
  • unpackWARs:为true时,会先解压war包成文件夹后运行应用。false时直接运行war包。
因此:
  • war包不能在tomcat运行时删除,否则会将相应的工程文件夹自动删除。可以将tomcat停止后再删除,重启后不影响工程文件夹。
  • 重启时如果有和war包相同名称的工程文件夹时,不会再次解压war包,也不会覆盖原有工程文件夹。

全量部署:

全量部署过程会完整执行完整个环境的配置、初始化以及部署工作,对于任何部署外的更新(如为修复一个问题而临时修改运行环境)有更好的容错性。对于现代系统中绝大部分状态无关的部署单元(应用、模块,微服务等),全量部署一般应是最优的选择。

增量部署:

如果从部署角度看,我们把任何可以独立部署的内容称为一个“部署单元”。

增量部署一般指在每次部署过程中首先提取当前版本和即将部署版本之间的增量(包括代码、可执行文件或者配置等),并在部署过程中仅更新增量部分。这种部署方式的常见部署流程如下:

  1. 利用代码管理工具(SVN、GIT等)提取两个版本之间的增量,并结合其他方面的增量变化。
  2. 按照增量部分制定具体的部署方式,编写部署脚本,并准备增量部署包(包括混淆代码等)。
  3. 分发和部署增量部署包到已经运行上一版本的目标环境,完成系统的版本升级。

目前,这种部署方式在不少企业内部使用,尤其是在以动态语言(如PHP、Python、JavaScript等)为主的团队中使用得更为广泛。团队选择这种部署方式的主要原因可以总结如下:

  1. 部署速度快。增量部署每次仅对增量部分进行更新,无论是文件分发还是配置更新的内容都会更少,部署需要的时间也就相对较短。
  2. 减少变化量。增量部署可以减少对于整个系统的变化幅度,很多已经完成的配置工作不需要每次重复设置。从而可以避免误操作,降低部署失败率。
  3. 提高安全性。增量部署每次只会涉及到增量代码部分,不会直接暴露系统的整个代码部分更新,避免系统代码泄露的风险。
    关于双方的选择,很好的一篇文章:https://www.cdsy.xyz/work/intelligent/IIServices/240126/cd60664.html
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门