jenkins构建,新接口不生效,arthas执行查看发现还是老代码。
怀疑依据:
1)git有异常
2)本地commit出现问题
3)jenkins有异常
===================================================>
初步查看方案:
1).查询公司git的提交记录
2).git status
3).md5sum XXXXX.jar 查看跳板机上的jar文件
===================================================>
再次查看方案:
1)jenkins 构建不成功就用rider构建
2)查看是否存在git对应的代码实际上是个空commit
3)使用arthas执行查看
===================================================>
主要原因是因为有人通过非标的方式手动启动了XXXXXXXX,导致jenkins构建完成之后通过supervisorctl 启动应用失败;
所以启动的一直是老的包
通过阿里云的arthas 工具排查的话,因为工具的原理是拿进程pid进行分析(虽然你看到的显示是.jar包),但是pid一直是旧代码的,所以分析的结果也是对应的老代码的结论
规避处理方式:
1、禁止在测试环境去手动启动项目【现在看起来都是统一用jenkins去通过supervisor启动的】
2、再有相似问题,首先ps -ef看下进程pid,如果父进程pid是1,说明是手动启动的,然后kill之后,手动restart一下