Skip to content

使用指引及规范

概述

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:海信容器云平台ocp

sonarqube环境信息

  • sonar.host.url=http://sonar.hisense.com
  • sonar.login=d658a43a0b87780550bf191a6ce04c239c059020