项目主干分支的server.sh被“覆盖”了?一个配置,解除烦恼

我司项目利用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里定义的节点属性名字。

项目主干分支的server.sh被“覆盖”了?一个配置,解除烦恼

step2: scripts目录下添加prod/server.sh

这样就能把生产环境单拎出来了。当然,如果要区分uat或者test、fat、dev,那就创建uat/server.sh或者test/server.sh、fat/server.sh、dev/server.sh。不过呢,眼前当下现阶段,除了uat还可考虑以外,其他环境都用默认的server.sh即可。

一图以明之,图样图森破:

项目主干分支的server.sh被“覆盖”了?一个配置,解除烦恼

打出来的zip程序包,bin/server.sh截图(样子跟之前一样一样滴):

项目主干分支的server.sh被“覆盖”了?一个配置,解除烦恼

新的人教版小学教材封面及插图出炉了,简直不要太美!我有一箩筐关于赞美的词汇,中国风、时代感、精气神、阳光、向上、愉悦、清新雅正、简洁大方…

项目主干分支的server.sh被“覆盖”了?一个配置,解除烦恼

Original: https://www.cnblogs.com/buguge/p/16622374.html
Author: buguge
Title: 项目主干分支的server.sh被“覆盖”了?一个配置,解除烦恼

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/686072/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 搭建Rust开发环境

    介绍 Rust是一门系统编程语言,专注于安全,尤其是并发安全,支持函数式和命令式以及泛型等编程范式的多范式语言。 和Ruby,Python等脚本语言程序不同,Rust 是一种预编译…

    技术杂谈 2023年5月31日
    089
  • Nodejs与管道和信号

    Nodejs与管道 Linux的其中一个设计哲学就是小而精,一个程序只做一件事情,然后通过管道将多个程序连接起来完成复杂的任务。比如如下的命令:ps -ef | grep node…

    技术杂谈 2023年5月31日
    080
  • RabbitMQGUI客户端工具(RabbitMQAssistant)

    RabbitMQ GUI客户端工具(RabbitMQ Assistant) 平时用控制台或者网页进行管理不免有点不方便,尤其在读取消息的时候不支持过滤和批量发送消息,在此推荐一个漂…

    技术杂谈 2023年7月24日
    070
  • 关于 PPT 模板

    不要把所有的培训都变成「Why What How」,不要去规定包袱要在什么时候抖,表达最怕不自然、没个性。 PPT 是辅助表达的工具,是为了让表达的内容更容易被理解。用 PPT 模…

    技术杂谈 2023年7月11日
    051
  • Kettle自定义jar包供javascript使用

    我们都知道 Kettle 是用 Java 语言开发,并且可以在 JavaScript 里面直接调用 java 类方法。所以有些时候,我们可以自定义一些方法,来供 JavaScrip…

    技术杂谈 2023年7月24日
    070
  • Java I/O流 复制文件速度对比

    Java I/O流 复制文件速度对比 首先来说明如何使用Java的IO流实现文件的复制: 第一步肯定是要 获取文件 这里使用字节流,一会我们会对视频进行复制(视频为非文本文件,故使…

    技术杂谈 2023年7月24日
    062
  • 技能篇:git的简易教程

    在学校,或许凭借一个人的力量就能负责整个项目的开发到上线。但是在公司,因为项目的复杂性和紧急性,一个项目的往往是由多个人实现,此时就有一个问题,代码提交和代码合并。git和svn,…

    技术杂谈 2023年7月25日
    069
  • 老司机学Xamarin系列总目录

    Xamarin开发环境及开发框架初探 Xamarin Forms开发框架二探 (Prism vs MvvmCross) Xamarin Forms开发框架之MvvmCross插件精…

    技术杂谈 2023年6月1日
    0106
  • H3C 802.11e 协议

    posted @2019-09-22 22:25 樊伟胜 阅读(528 ) 评论() 编辑 Original: https://www.cnblogs.com/fanweishen…

    技术杂谈 2023年5月30日
    0116
  • c# Winform DataGridView 当前单元格失去焦点的有关问题

    在一个DataGridview中的某一个单元格输入了内容,点击窗体上的Button按钮(输入的光标还在那个输入的单元格中,没有失去焦点),获取到的那个单元格的值不是刚才输入的值,还…

    技术杂谈 2023年5月31日
    084
  • njoj 1251 zlly长了一张包子脸

    njoj 1251 zlly长了一张包子脸 题意: zlly长了一张包子脸。他特别喜欢吃糖果。如今他手头有若干种糖果,每种糖果有个口味值,每种糖果有无数多个。然后娄童鞋也很喜欢吃糖…

    技术杂谈 2023年5月30日
    0100
  • 防火墙NAT配置与DHCP下发

    该实验如果有做的不足的地方请见谅 实验目标: 按要求划分区域,公司内部办公区为trust,服务器区为dmz,外部网络为untrust。 PC1和PC2为公司内部办公区,需要从防火墙…

    技术杂谈 2023年6月21日
    079
  • SCRUM官方权威指南

    posted @2022-04-18 21:32 HammerZe 阅读(26 ) 评论() 编辑 Original: https://www.cnblogs.com/48xz/p…

    技术杂谈 2023年6月21日
    080
  • 批量改文件名小工具

    有时候需要批量替换一个文件夹下面所有文件的名称,如果文件太多,就没办法手工一个一个来改了。 想想作为程序员十几分钟就可以搞定的东西,解决别人几个小时工作,岂不快哉。 于是有此工具发…

    技术杂谈 2023年5月31日
    095
  • RabbMQ

    RabbitMQ基本概念 Broker: 简单来说就是消息队列服务器实体 Exchange: 消息交换机,它指定消息按什么规则,路由到哪个队列 Queue: 消息队列载体,每个消息…

    技术杂谈 2023年7月24日
    061
  • Java-Stream入门

    学习Stream的目的 函数式编程渐渐变成主流,而Stream是函数式编程的重点。 相对于传统的编程方式,代码更为简洁清晰易懂。 使得并发编程变得如此简单。 有效的避免了代码嵌套地…

    技术杂谈 2023年7月11日
    054
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球