我司项目利用springboot搭建,应用在部署到各环境后,程序启动命令靠的是我们在工程里配置的 scripts/server.sh。这个server.sh里最重要的东西是程序启动的jvm内存参数配置。
再一点要说的是,这个server.sh并没有区分环境,这一点对于我们各个部署环境,尤其是本地的开发环境及测试环境来说,很不优雅,因为我们本地环境资源有限, 加上本地环境并不需要太大的jvm内存配置,所以,我们通常会把本地环境的jvm配置得小一些。
但是,but,如果不小心把修改后的内容push到开发分支进而再merge到release/master分支,那估计会痛痛痛。
恰昨天晚上,公元2022年8月23日19时许,墨菲定律应验了,有同学反映,生产环境bosskg系统的bosskg-client-api出现OOM了,一检查,发现,它的这个启动文件参数被修改成测试环境的 -Xms512M -Xmx512M了。 赶紧修正jvm参数,联系运维哥哥给予修复。
要追责要惩罚?
没必要!
我们设计得不合理,单单依靠靠约束真的是太苍白无力了。
痛定思痛吧, 亡羊补牢,犹未晚矣。
只要思想不滑坡,办法总比困难多。今天,在经过王杰、红洁、小师诸多积极分子的讨论后,本着开发、运维最小改动的原则,很快敲定了改进方案。
解决办法也很简单。
step1:assembly.xml做如下变更:
<fileSet> <directory>scripts/${package.environment}directory> <outputDirectory>/binoutputDirectory> fileSet> <fileSet> <directory>scriptsdirectory> <outputDirectory>/binoutputDirectory> fileSet>
其中,package.environment是项目pom.xml里profiles里定义的节点属性名字。
step2: scripts目录下添加prod/server.sh
这样就能把生产环境单拎出来了。当然,如果要区分uat或者test、fat、dev,那就创建uat/server.sh或者test/server.sh、fat/server.sh、dev/server.sh。不过呢,眼前当下现阶段,除了uat还可考虑以外,其他环境都用默认的server.sh即可。
一图以明之,图样图森破:
打出来的zip程序包,bin/server.sh截图(样子跟之前一样一样滴):
新的人教版小学教材封面及插图出炉了,简直不要太美!我有一箩筐关于赞美的词汇,中国风、时代感、精气神、阳光、向上、愉悦、清新雅正、简洁大方…
Original: https://www.cnblogs.com/buguge/p/16622374.html
Author: buguge
Title: 项目主干分支的server.sh被“覆盖”了?一个配置,解除烦恼
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/686072/
转载文章受原作者版权保护。转载请注明原作者出处!