软件测试 | Sonarube scanner使用

117 阅读1分钟

安装

作用:分析代码与数据,并上传,独立客户端程序 独立下载:docs.sonarqube.org/display/SCA… Analyzing+with+SonarQube+Scanner

mac: brew install sonar-scanner

scanner 有 2 中类型的配置文件,全局配置文件与项目配置文件。

全局配置文件 scanner 的全局配置文件用于保存一些全局性的配置,比如 sonar 的 token 与主机等配置。 路径在 $install_directory/conf/sonar-scanner.properties:

#----- Default SonarQube server
#sonar.host.url=http://localhost:9000

项目配置文件

在待分析的项目源代码的主目录下可以配置一个 sonar 的项目配置文件 sonar-project.properties

# must be unique in a given SonarQube instance
sonar.projectKey=my:project
# --- optional properties ---
# defaults to project key
#sonar.projectName=My project
# defaults to 'not provided'
#sonar.projectVersion=1.0
# 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

scanner 参数传递机制

有的时候不方便修改配置文件,可以把一些配置通过参数传递给 scanner,基本上所有的全局或者项目 配置都可以被传递到 scanner 的-D 参数中。

sonar-scanner \
 -Dsonar.host.url=http://sonarqube.testing-studio.com:9000 \
 -Dsonar.login=$SONARQUBE_TOKEN

scanner 在构建工具中的集成

scanner 支持目前主流的项目构建工具,并提供了对应的构建工具的支持,常见的插件包括

Gradle - SonarScanner for Gradle

MSBuild - SonarScanner for MSBuild

Maven - use the SonarScanner for Maven

Jenkins - SonarScanner for Jenkins

Azure DevOps - SonarQube Extension for Azure DevOps

Ant - SonarScanner for Ant

anything else (CLI) - SonarScanner

下载示例项目

git clone https://github.com/SonarSource/sonar-scanning-examples.git
cd sonar-scanning-examples

搜索微信公众号:TestingStudio霍格沃兹的干货都很硬核