在上线代码后,后台日志疯狂抛表不存在异常,经排查发现,新建的该表未在本次上线需求中,还在测试中的需求,第一反应是本次上线分支被合入了另外需求代码所致,然而奇怪的点却是该版本分支确实无那块代码,且检查mster分支也无那块代码。懵....,立马检查打包构建及其docker镜像问题,也都是正常,构建的也都是正确版本的分支无误。
经过后面排查定位,发现,上线版本是在前一天构建好的,然后当天准备上线,而上线当天,有一个公共分支test1环境分支构建,而上线需求分支曾经合入该分支,且此时,test1分支项目版本号为:1.23.0-SNAPSHOT
而上线需求项目版本号也为 1.23.0-SNAPSHOT
由于发布系统问题,在后面构建时依赖版本被更新替换了,导致了该问题。
解决:
- 在构建时锁定所有包版本,最好是将版本设置为RELEASE正式版本,且该版本不可被覆盖
- 同时在版本上线时,最好是基于master分支版本的基础上进行升级,在还未上线需求无需版本号的升级