第一步:先在正式环境创建数据库/新增表格或者字段
-
在数据库表中增加字段/表格,不会报错。
-
但是切记不要过早数据库字段/表格或者删除字段/表格
第二步:修改配置文件
- 先将正式环境需要的配置给写好,包括但不仅限于数据库配置、基础服务配置和定时任务配置。
- 如果是更新项目,需要修改原有配置,则不要过早修改。
- 这一步必须仔细比对,需要哪些配置,并仔细检查域名
第三步:修改版本号和k8s上面的版本号
- 这一步至关重要,每次更新项目,都需要修改一下版本号,且在不同环境的版本号也应该有差别。否则k8s上的Pods出现问题,将无法回滚,造成严重后果(因为k8s采用滚动更新策略更新应用,一次更新一个Pod,而不是同时删除所有Pod,如果忘记修改版本号,并且及时发现,可以复制一份正确的Pod)。
- 预发布环境和开发环境需要作区分。修改的应该是自己服务的版本号,父pom的版本号不能修改,因为它目前一直是这个版本号,修改后完全找不到就报错了。
第四步:正式发版步骤(前面都是准备阶段)
(1)package是打包代码为jar。
(2)docker build才是制作镜像
(3)push是把打好的镜像文件推送的harbor镜像仓库中
(4)k8s每次重新部署服务会去harbor镜像仓库中拉去镜像,用来运行程序。
(5)k8s每次去拉的时候,都是拉的这个版本的镜像(如果把代码中的版本号改了,k8s想拉取新的镜像,**这个地方**的名字也要对应的改一下)。
(6) 如果项目中有定时任务,请求比较频繁,可以增加多个节点,分摊一下压力,可以减少出现线程阻塞的现象。
第四步:后期优化之设置日志输出级别
日志等级:
①trace:最低等级
②debug:调试用,通常用于跟踪程序进展。
③info:记录用,通常用于记录程序行为。
④warn:警告。
⑤error:错误
⑥fatal:灾难性错误、最高等级
设置日志等级:
Springboot默认日志等级为info,只在控制台输出info或更高等级的日志。
修改日志等级(基础版)
logging:
level:
root: info
com.dxxw.dwn.controller: debug
com.dxxw.dwn.service: debug
修改日志等级(分组版)
日志的等级是根据组或包来设置的,其中root组即为整个项目
以包为单位设置日志等级很麻烦,可以自己设置组别,然后为每组分别设置等级。
logging:
group:
server: com.dxxw.dwn.controller, com.dxxw.dwn.service
sql: com.dxxw.dwn.mapper
level:
root: info
server: debug
sql: trace