启动jar包指定数据库连接

启动jar包指定数据库连接

  这个实验源于自己的一个好奇心。。。

  之前写有文章:jenkins指定库连接,当时我领导以为切换数据库连接就是一个命令的事,“加一,切库”,手起刀落,然后我告诉他jenkins切换库的逻辑:从gitlab拉代码,替换数据库连接文件,maven编译,再发布到远程机器。可能那会比较大声,整个办公室仅弥漫着我跟领导的“呼应”,坐我对面懂点运维的开发,小小声给我回了句:其实可以不用那么麻烦,直接指定配置文件,不需要重新编译。

  为了验证下是不是真的,今天忙完别的事特意测了下~~

  参考链接:https://www.jb51.net/article/197938.htm

一、测试准备

  话说公司内网有个快码猿开发的应用:一个简单的资产管理系统,是个jar包跑的,刚好最大化模仿之前的场景进行测试。

  我特意解刨了jar包,然后在 BOOT-INF/classes/ 目录下有个 application.yml,里面有连接的数据库配置信息:yhwl_devops

 navicat连该库,找到一个好辨认的表:propertytype

 刚好跟页面”资产类型管理“对应了:

、正式测试

1、mysql新建测试库:ljytest_20220406

2、把源库yhwl_devops 数据导出来,导入到我这个测试库里,插入一条测试数据,如下:

 

 

 3、复制application.yml,修改成连接测试数据库

cp BOOT-INF/classes/application.yml   /tmp/ljytest/application.yml 

 

 4、启动jar包:

java -jar /root/devops-1.1.jar --spring.config.location=/tmp/ljytest/application.yml

看看多了最后一条记录,代表修改数据库连接是成功的。

恩,确实是没有骗我~~

 

、实验总结

  如果简单的修改jar包运行的数据库连接,且并非经常需要修改,确实启动jar包直接指定想读的配置文件是比较好的,也就是本文测试的方法;但是如果还要做更复杂的操作,例如改库连接之前要备份库数据,个人觉得还是用jenkins去弄比较好。

  另外一个弄成jenkins的原因是为了节省运维人员的时间吧,想想测试人员一声令下就让改库连接,得先停掉原服务,指定跑起来。。。还不如做成这种让其自主选择去点发布进而改库连接,毕竟这样改来改去,做多了烦不单只,也容易出错,牺牲点时间等代码编译时间,其实也是值得的。

posted @ 2022-04-06 22:07  windysai  阅读(1213)  评论(0编辑  收藏  举报