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命名规范如下:

4.选择镜像,这里选择系统自带的sonar-scanner即可

5.设置缓存卷以及扫描器资源配置

注意:这里如果是java,需要之前步骤当中已经编译好的文件,并且需要和上述配置文件中保持一致。

6.执行流水线

二、基于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)的权限,查看扫描结果。

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