上线前忘了把数据库地址改回来,测试数据写进了生产库,删了半天才清干净。日志里能对上时间点,这种反而好排。
配置写在一个文件里靠手工注释切换,没有环境区分,启动时也不做任何校验。这一点先确认清楚,后面就不用反复试。
# 启动指定环境 --spring.profiles.active=prod # 配置分文件 application-prod.yml
这次卡住的地方就在「多环境配置」这一环,单独把它拎出来验证,别和其他改动混在同一次发布里。先做最小复现,能稳定跑出来的问题,排查成本会低一个数量级。
别只看报错的最后一行,往上看几行,真正的起因通常在上面。同类问题如果隔一段时间又出现,多半是某个定时任务或重启流程把改动冲掉了。
把这次用到的命令存进笔记,比记住结论有用,换个环境还能照着走。
处理上按这个顺序:按环境拆分配置文件只留一份生效;启动时打印当前环境并校验关键项;生产地址不提交到仓库。
结果对不对很好判断,启动日志能看到当前环境标识,换环境不用改任何文件。
