基于 SonarQube 的增量代码扫描

2019 年 7 月 18 日 DevOps时代

前言

很多团队刚开始推行使用SonarQube进行代码质量管理的时候总会遇到一个揪心的问题:因为很多旧项目之前压根就没用这套工具,团队一上来兴致勃勃的就拿着这个工具跑指标,新鲜感很强,毕竟人是好奇的动物。然鹅,几分钟后的结果却是意料之外:

几乎接近于0的测试覆盖率,几千上万个bad taste、bug和漏洞等等不一而足,然后跑多两次后大家就从兴趣盎然到心如死灰。本人的团队就是一个血淋淋的现实,然后这样也在逼着我去想应该用什么方法激起大家使用新工具的兴趣呢,毕竟行政干预从来就不是一个那么友好,或者说简直是粗暴的方式。

后来,我想既然要引导兴趣,肯定要让同事觉得坑不大,可以越过的,然后一步一步改善的。后来就想到分以下两步走:

1、先把所有团队画一个基线(baseline);

2、然后只针对增量代码进行扫描(即对sonarqube中的质量阈中的以“新XXX”开头等度量指标全部设为不大于0,这意味着只做增量代码扫描)。

画基线

1、在sonar-project.properties中,把sonar.projectVersion=1.1(初始值,这里以1.1作为基线)

# 指定项目的版本为1.1
sonar.projectVersion=1.1

2、在命令行运行sonnar-scanner命令,得到整个项目的质量基线。

项目质量基线

设置并运行

1、在sonarqube中,添加以“新”开头的指标,并同时把它的指标设成0,即代表增量代码扫描;并同时把leak period 设成默认的previous_version。

2、开始在工程中人为添加坏味道等不规范的代码,然后跑sonar-scanner进行扫描。

作者:尘世间一名迷途小码农
原文:https://blog.csdn.net/justyman/article/details/88587460

还记得 GOPS 2019 · 深圳站的盛况?运维之春,GOPS 2019 · 上海站即将来袭,看看 GOPS 2019 · 上海站拟邀嘉宾所在企业:

点击阅读原文,了解更多精彩

登录查看更多
12

相关内容

程序猿的天敌 有时是一个不能碰的magic
【实用书】学习用Python编写代码进行数据分析,103页pdf
专知会员服务
194+阅读 · 2020年6月29日
深度学习目标检测方法及其主流框架综述
专知会员服务
147+阅读 · 2020年6月26日
最新《自然场景中文本检测与识别》综述论文,26页pdf
专知会员服务
69+阅读 · 2020年6月10日
【书籍推荐】简洁的Python编程(Clean Python),附274页pdf
专知会员服务
180+阅读 · 2020年1月1日
《机器学习实战》代码(基于Python3)
专知
32+阅读 · 2019年10月14日
CVPR 2019:精确目标检测的不确定边界框回归
AI科技评论
13+阅读 · 2019年9月16日
msf实现linux shell反弹
黑白之道
49+阅读 · 2019年8月16日
人工智能Paper精读班,视频讲解+代码实现
AINLP
17+阅读 · 2019年5月31日
如何用GitLab本地私有化部署代码库?
Python程序员
9+阅读 · 2018年12月29日
实战 | 40行代码实现人脸识别
七月在线实验室
3+阅读 · 2018年3月7日
【深度学习】基于深度学习的电商交易欺诈检测系统
基于深度学习的电商交易欺诈检测系统
AI研习社
8+阅读 · 2017年9月26日
Arxiv
92+阅读 · 2020年2月28日
Arxiv
4+阅读 · 2018年5月4日
VIP会员
相关资讯
《机器学习实战》代码(基于Python3)
专知
32+阅读 · 2019年10月14日
CVPR 2019:精确目标检测的不确定边界框回归
AI科技评论
13+阅读 · 2019年9月16日
msf实现linux shell反弹
黑白之道
49+阅读 · 2019年8月16日
人工智能Paper精读班,视频讲解+代码实现
AINLP
17+阅读 · 2019年5月31日
如何用GitLab本地私有化部署代码库?
Python程序员
9+阅读 · 2018年12月29日
实战 | 40行代码实现人脸识别
七月在线实验室
3+阅读 · 2018年3月7日
【深度学习】基于深度学习的电商交易欺诈检测系统
基于深度学习的电商交易欺诈检测系统
AI研习社
8+阅读 · 2017年9月26日
Top
微信扫码咨询专知VIP会员