为什么80%的码农都做不了架构师?>>>   

  1. 前提

在提高代码质量方面公司采用的是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执行失败的修复相关推荐

  1. apscheduler 脚本执行失败_在脚本中使用 Bash 信号捕获 | Linux 中国

    无论你的脚本是否成功运行,信号捕获(trap)都能让它平稳结束. 来源:https://linux.cn/article-12715-1.html 作者:Seth Kenlon 译者:Hank Cho ...

  2. FISCO BCOS Transaction execution error交易事务合约执行失败原因

    error|2022-06-21 19:31:31.351916|[g:1][EXECUTIVE][TxExeError]Transaction execution error,Transaction ...

  3. 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 后执行失败 ...

  4. mysql latid1_【转】mysql触发器的实战经验(触发器执行失败,sql会回滚吗) | 学步园...

    1   引言Mysql的触发器和存储过程一样,都是嵌入到mysql的一段程序.触发器是mysql5新增的功能,目前线上凤巢系统.北斗系统以及哥伦布系统使用的数据库均是mysql5.0.45版本,很多程 ...

  5. apscheduler 脚本执行失败_Bash编程入门-3:数学运算及脚本

    说明:本文是对Vamei知乎文章<快速学习Bash>(https://zhuanlan.zhihu.com/p/32692644)一文的学习笔记,根据个人理解调整了内容顺序,补充了一些注释 ...

  6. C#实现数据回滚,A事件和B事件同时执行,其中任何一个事件执行失败,都会返回失败...

    /// <summary> /// 执行数据库回滚操作,用于sql语句执行失败后,恢复执行前的数据 /// </summary> /// <param name=&quo ...

  7. Oracle 11g RAC 第二节点root.sh执行失败后再次执行root.sh

    Oracle 11g RAC 第二节点root.sh执行失败后再次执行root.sh前,要先清除之前的crs配置信息 # /u01/app/11.2.0/grid/crs/install/rootcr ...

  8. java线程池任务失败_ThreadPoolExecutor线程池任务执行失败的时候会怎样

    1.  任务执行失败时的处理逻辑 1.1.  Worker Worker相当于线程池中的线程 可以看到,Worker有几个重要的属性: thread : 这是Worker运行的线程,可以理解为一个Wo ...

  9. 定时执行失败原因分析

    .脚本语法错误 在crontab脚本没有定时执行的时候,首先需要检查脚本的语法有没有出现问题. 2.环境变量问题 有时我们创建了一个crontab,但是这个任务却无法自动执行,而手动执行这个任务却没有 ...

最新文章

  1. SpringBoot-web开发(一): 静态资源的导入(源码分析)
  2. 讯飞智能语音先锋者:等到人机交互与人类交流一样自然时,真正的智能时代就来了...
  3. mysql的status状态说明
  4. 全球与中国压延铜箔市场发展调研及投资前景战略建议报告2022-2028年版
  5. JVM辅助信息参数设置
  6. Mysql group by 排序问题
  7. (转)几种常用存储过程分页方法
  8. 界面设计语言_使用任何语言设计界面的提示
  9. 为什么jdk的CLASSPATH环境变量需要设置rt.jar 和 tools.jar
  10. 19.CSS background
  11. 【API进阶之路】API带来的微创新,打动投资人鼓励我创业
  12. click事件在什么时候出发_关于JS 事件冒泡和onclick,click,on()事件触发顺序
  13. Windows xp下IDT Hook和GDT的学习
  14. Mac OS系统修改Hosts文件的方法
  15. 【转】那些令人喷饭的注释
  16. 计算机系统思维导图简单画法,思维导图简单画法 有创意的思维导图
  17. 各地级市-国内及外汇旅游收入(1995-2020)
  18. CAXA 数控车编程视频教程 CAXA车床绘图教程
  19. 反激式开关电源理论与原理解析
  20. 【机器学习】信息熵基础学习

热门文章

  1. C++ primer第五版随笔--2015年1月6日
  2. TOJ--3456--数学题
  3. SQL Server 中update的小计
  4. Git fetch和git pull的区别
  5. [亿能测试_www.gdtesting.com]测试技术资料网盘共享
  6. 日期NSDate的使用
  7. [C#] enum 枚举
  8. Ubuntu14.04 LTS中升级gcc/g++版本到4.9.4的操作步骤
  9. uniapp 中如何使用echart_uniapp中如何引用echarts
  10. 制度汇编格式怎么生成目录_来自世界500强企业的管理表格DOC格式 1900套