Skip to content

集成方式

概述

SonarQube是一个开源的代码质量管理系统。

使用SonarQube可以方便的在信云2.0中进行集成,以在镜像发布的时候,及时进行代码质量扫描,暴露问题。

集成方法

使用Sonar-scanner扫描(推荐)

1.在流水线-流水线定义中点击Sonarqube模板

2.配置SonarQube配置信息

服务器url为http://sonar.hisense.com

Sonarqube Token为d658a43a0b87780550bf191a6ce04c239c059020

其中token也可自行替换为自己的token,细节这里不再涉及

3.编写sonar项目配置

以下作为参考:

xml
# must be unique in a given SonarQube instance
sonar.projectKey=com.hisense.公司简称-部门简称.项目名称.模块名称
# --- optional properties ---
# defaults to project key
sonar.projectName=项目名称-模块名称
# defaults to 'not provided'
#sonar.projectVersion=1.0
#java项目必填
sonar.java.source=1.8
# Path is relative to the sonar-project.properties file. Defaults to .
sonar.sources=.
# Encoding of the source code. Default is default system encoding
sonar.sourceEncoding=UTF-8
#编译后的jar包地址,可根据需要需要更改为其他,仅java项目需要且必填,注意避免在/app及其子目录下,避免二次扫描,重复率统计异常
sonar.java.binaries=/tmp

其中sonar.projectKey命名规范如下:

com.hisense.<内外部公司/部门/团队英文简称/>.<项目英文简称>.<模块英文简称>

  • 集团IT-技术开发部:com.hisense.jtit-kf<项目英文简称>.<模块英文简称>
  • 集团IT-大数据部:com.hisense.jtit-bigdata.<项目英文简称>.<模块英文简称>
  • 集团IT-办公系统部:com.hisense.jtit-bg.<项目英文简称>.<模块英文简称>
  • 集团IT-营销系统部:com.hisense.jtit-yx<项目英文简称>.<模块英文简称>
  • 集团IT-供应链系统部:com.hisense.jtit-gyl.<项目英文简称>.<模块英文简称>
  • 集团IT-研发系统部:com.hisensejtit-yf<项目英文简称>.<模块英文简称>
  • 集团IT-财务系统部:com.hisense.jtit-cw.<项目英文简称>.<模块英文简称>
  • 中国区营销:com.hisense.zgg.<项目英文简称>.<模块英文简称>
  • 国际营销:com.hisense.gjyx.<项目英文简称>.<模块英文简称>
  • 海信日立:com.hisensehitachi.<项目英文简称>.<模块英文简称>

完善中...

4.执行流水线

二、基于maven项目可用Sonar-scanner for Maven扫描

如果项目基于maven也可以使用这种方式,这种方式相对来说需要设置的配置项较少,无配置文件,但选择此方式,信云2.0平台无法接收到扫描结果。

执行扫描步骤合并在maven打包当中

在mvn install步骤后添加:

xml
mvn -s nexus-setting.xml  sonar:sonar -Dsonar.projectName=${projectName} -Dmaven.test.skip=true -Dsonar.projectKey=${projectKey} -Dsonar.host.url=http://sonar.hisense.com -Dsonar.login=${sonar_login_token}

注意事项

sonar扫描完成,请提供sonar.projectKey王有鹏配置sonar平台(sonar.hisense.com)的权限,查看扫描结果。

其中参数说明以及填写规范均在上方中涉及,参考即可