上线前忘了把数据库地址改回来,测试数据写进了生产库,删了半天才清干净。日志里能对上时间点,这种反而好排。

配置写在一个文件里靠手工注释切换,没有环境区分,启动时也不做任何校验。这一点先确认清楚,后面就不用反复试。

# 启动指定环境
--spring.profiles.active=prod
# 配置分文件
application-prod.yml

这次卡住的地方就在「多环境配置」这一环,单独把它拎出来验证,别和其他改动混在同一次发布里。先做最小复现,能稳定跑出来的问题,排查成本会低一个数量级。

别只看报错的最后一行,往上看几行,真正的起因通常在上面。同类问题如果隔一段时间又出现,多半是某个定时任务或重启流程把改动冲掉了。

把这次用到的命令存进笔记,比记住结论有用,换个环境还能照着走。

处理上按这个顺序:按环境拆分配置文件只留一份生效;启动时打印当前环境并校验关键项;生产地址不提交到仓库。

结果对不对很好判断,启动日志能看到当前环境标识,换环境不用改任何文件。

作者 9823189