使用指引及规范
概述
SonarQube是一个开源的代码质量管理系统。
使用SonarQube可以方便的在信云2.0中进行集成,以在镜像发布的时候,及时进行代码质量扫描,暴露问题。
适用人群
此文档面向有代码规范管理需求的人员,如技术经理、开发工程师
文档目的
此文档有2个主要目的:
1.面向项目管理员阐述,如果进行权限管理
2.面向项目成员阐述,如果使用sonar报告,进行问题解读与修复
使用流程
命名规范
sonar平台用于区分不同项目,使用的是sonar.projectKey关键字,其命名规范如下:
com.hisense.<内外部公司/部门/团队英文简称>.<项目英文简称>.<模块英文简称>
- 集团IT-办公共享系统部:com.hisense.jtit-bggx.<项目英文简称>.<模块英文简称>
- 集团IT-数据管理与应用部:com.hisense.jtit-dsj.<项目英文简称>.<模块英文简称>
- 集团IT-服务运营管理部:com.hisense.jtit-fwyyglb.<项目英文简称>.<模块英文简称>
- 集团IT-国内营销解决方案部:com.hisense.jtit-yx.<项目英文简称>.<模块英文简称>
- 集团IT-供应链解决方案部:com.hisense.jtit-gyl.<项目英文简称>.<模块英文简称>
- 集团IT-研发解决方案部:com.hisense.jtit-yf.<项目英文简称>.<模块英文简称>
- 集团IT-财务解决方案部:com.hisense.jtit-cw.<项目英文简称>.<模块英文简称>
- 集团IT-流程推进与规划管理部:com.hisense.jtit-xmgl.<项目英文简称>.<模块英文简称>
- 集团IT-光通信解决方案部:com.hisense.jtit-gtx.<项目英文简称>.<模块英文简称>
- 集团IT-基础架构与云服务管理部:com.hisense.jtit-yw.<项目英文简称>.<模块英文简称>
- 中国区营销:com.hisense.zgq.<项目英文简称>.<模块英文简称>
- 国际营销:com.hisense.gjyx.<项目英文简称>.<模块英文简称>
- 完善中...
登录
登录后的首页,页面主区域展示当期用户有权限访问的项目报告。
扫描报告及评价标准(重要)
报告的首页,有3个重要区域:
- 1.quality gate质量评价结果
- 2.全量代码的5项扫描指标评级
- 3.增量代码的5项扫描指标评级
其中,扫描指标中,重点关注3个:
- 1.Bugs缺陷数量:会影响对reliability可靠性的评价
- 2.Vulnerabilities漏洞数量:会影响对security安全性的评价
- 3.Code smells坏味道数量:会影响对maintainability可维护性的评价
规范
扫描报告及评价标准:
集团目前规定的quality gate质量阀评价中,要求均为:全量代码的扫描评价达到A级,即Bugs缺陷数量为0,Vulnerabilities漏洞数量为0,Code smells坏味道评级为A。
扫描时间点及范围:
- 1.要求每次发版前在测试环境或预发环境对代码进行sonar扫描;
- 2.要求每全量代码进行sonar扫描。
项目权限管理(项目管理员)
操作指导:
- 1.平台管理员分配项目管理员权限之后,即可进行项目内成员权限
操作规范:
1.【强制】分配权限:禁止给开发人员分配administrator权限
2.【强制】质量评价:禁止修改项目使用的质量标准和质量评价标准
如需修改,必须联系sonar管理员
3.【强制】删除:禁止对项目进行删除操作
4.【强制】禁止:在permission中,修改项目的“可视范围”为public
开发工程师(issues操作)
1.从首页的报告指标超链接,可以查看对应的明细
2.也可以从“项目管理菜单”区域的“issues问题”页签进行浏览
在“项目”内浏览issues,如下图:
浏览rule解读,如下图:
提醒配置
通过”个人信息“可以进行提醒的配置,提醒有全局配置和针对项目的配置两种。
扫描工程师
集团的代码规范与质量扫描,采用的是sonarqube完成
能够涵盖的开发语言,具体可以参看http://sonar.hisense.com/about
使用场景和流程
场景1:信云平台(https://hicloud.hisense.com/)
- 使用流程:参见信云2.0中集成Sonar代码扫描
场景2:海信容器云平台ocp
- 平台内针对java应用和js应用,分别使用的是maven镜像和sonar-scanner原生镜像在pipeline中完成。
- 使用流程:参见ocp的pipeline中基于镜像完成代码扫描
sonarqube环境信息
- sonar.host.url=
http://sonar.hisense.com
- sonar.login=
d658a43a0b87780550bf191a6ce04c239c059020