记一次Sonar执行失败的修复
为什么80%的码农都做不了架构师?>>>
- 前提
在提高代码质量方面公司采用的是Jenkins+Sonar的方案,通过设定扫描规则对现有代码工程进行扫描。代码扫描后会产生不同级别的问题,例如Bugs、漏洞、坏味道等。针对每个工程的发布是用Jenkins进行执行的,在代码每次发布的时候都会触发Sonar扫描配置的Jenkins用于对新增代码的问题汇总。
2.出现的问题
某天质量部同事发企业消息,说我们有个工程的Sonar扫描任务很久都没有执行成功过了,看下是什么问题导致的。当时简单看了一下根据Jekins但是执行的日志看以为是代码文件的行数较大,被Sonar的某个规则给限制住了。具体错误如下:
于是就先咨询了质量部的同事,是否增加了这样的规则,限制了文件的总行数,得到的反馈是最近没有做过改动。
3、问题解决
3.1 既然规则方面没有改动过,那就先看看是不是行数过大的问题吧,把文件内容缩小到一定的行数比如200行,结果报错信息与上面的是一样的,只是变了一下数字。宣告失败
3.2 既然不是文件行数的问题,那就换个方向。清理一下Jenkins工作空间。操作如下:
结果就是扫描失败,失败的错误变了(是个进步终于不在看上面那个错误了)。报错如下:
根据错误提取关键词build,跟编译有关系,然后看下Jenkins的编译配置。结果发现少了如下配置。
工程是采用gradle进行编译打包的,所以缺少了这个过程自然就编译不了了。重新执行Jenkins成功:
并生成了Sonar的扫描报告。至此就算把上面那个问题解决了。
4、总结
中间还有去百度过类似的异常,本来开发只是简单的了解Jenkins的使用,比如执行和发布,从异常看是发生在了Sonar上应该有质量的同事定位好问题,如果确实是代码的问题在交由开发组进行修复。但直接甩给开发也是醉了,百度没能找到对应的类似问题,所以还得自己找思路解决。
综上基本的问题定位是由于没有配置编译脚本,导致编译的class文件不是最新的,代码在变化后不能相对应,导致的问题。
通过1、清理工作空间把旧的编译过的class清除,2、配置编译脚本
留下痕迹做个参考
转载于:https://my.oschina.net/dolor/blog/3022467
记一次Sonar执行失败的修复相关推荐
- apscheduler 脚本执行失败_在脚本中使用 Bash 信号捕获 | Linux 中国
无论你的脚本是否成功运行,信号捕获(trap)都能让它平稳结束. 来源:https://linux.cn/article-12715-1.html 作者:Seth Kenlon 译者:Hank Cho ...
- FISCO BCOS Transaction execution error交易事务合约执行失败原因
error|2022-06-21 19:31:31.351916|[g:1][EXECUTIVE][TxExeError]Transaction execution error,Transaction ...
- Pyinstaller 打包 torch 后执行失败 OSError: could not get source code
1. 问题现象 系统环境 Python 3.6.9 torch 1.2.0 torchvision 0.4.0 Pyinstaller 4.5.1 Pyinstaller 打包 torch 后执行失败 ...
- mysql latid1_【转】mysql触发器的实战经验(触发器执行失败,sql会回滚吗) | 学步园...
1 引言Mysql的触发器和存储过程一样,都是嵌入到mysql的一段程序.触发器是mysql5新增的功能,目前线上凤巢系统.北斗系统以及哥伦布系统使用的数据库均是mysql5.0.45版本,很多程 ...
- apscheduler 脚本执行失败_Bash编程入门-3:数学运算及脚本
说明:本文是对Vamei知乎文章<快速学习Bash>(https://zhuanlan.zhihu.com/p/32692644)一文的学习笔记,根据个人理解调整了内容顺序,补充了一些注释 ...
- C#实现数据回滚,A事件和B事件同时执行,其中任何一个事件执行失败,都会返回失败...
/// <summary> /// 执行数据库回滚操作,用于sql语句执行失败后,恢复执行前的数据 /// </summary> /// <param name=&quo ...
- Oracle 11g RAC 第二节点root.sh执行失败后再次执行root.sh
Oracle 11g RAC 第二节点root.sh执行失败后再次执行root.sh前,要先清除之前的crs配置信息 # /u01/app/11.2.0/grid/crs/install/rootcr ...
- java线程池任务失败_ThreadPoolExecutor线程池任务执行失败的时候会怎样
1. 任务执行失败时的处理逻辑 1.1. Worker Worker相当于线程池中的线程 可以看到,Worker有几个重要的属性: thread : 这是Worker运行的线程,可以理解为一个Wo ...
- 定时执行失败原因分析
.脚本语法错误 在crontab脚本没有定时执行的时候,首先需要检查脚本的语法有没有出现问题. 2.环境变量问题 有时我们创建了一个crontab,但是这个任务却无法自动执行,而手动执行这个任务却没有 ...
最新文章
- SpringBoot-web开发(一): 静态资源的导入(源码分析)
- 讯飞智能语音先锋者:等到人机交互与人类交流一样自然时,真正的智能时代就来了...
- mysql的status状态说明
- 全球与中国压延铜箔市场发展调研及投资前景战略建议报告2022-2028年版
- JVM辅助信息参数设置
- Mysql group by 排序问题
- (转)几种常用存储过程分页方法
- 界面设计语言_使用任何语言设计界面的提示
- 为什么jdk的CLASSPATH环境变量需要设置rt.jar 和 tools.jar
- 19.CSS background
- 【API进阶之路】API带来的微创新,打动投资人鼓励我创业
- click事件在什么时候出发_关于JS 事件冒泡和onclick,click,on()事件触发顺序
- Windows xp下IDT Hook和GDT的学习
- Mac OS系统修改Hosts文件的方法
- 【转】那些令人喷饭的注释
- 计算机系统思维导图简单画法,思维导图简单画法 有创意的思维导图
- 各地级市-国内及外汇旅游收入(1995-2020)
- CAXA 数控车编程视频教程 CAXA车床绘图教程
- 反激式开关电源理论与原理解析
- 【机器学习】信息熵基础学习
热门文章
- C++ primer第五版随笔--2015年1月6日
- TOJ--3456--数学题
- SQL Server 中update的小计
- Git fetch和git pull的区别
- [亿能测试_www.gdtesting.com]测试技术资料网盘共享
- 日期NSDate的使用
- [C#] enum 枚举
- Ubuntu14.04 LTS中升级gcc/g++版本到4.9.4的操作步骤
- uniapp 中如何使用echart_uniapp中如何引用echarts
- 制度汇编格式怎么生成目录_来自世界500强企业的管理表格DOC格式 1900套