Sonarqube scanner使用,需要先安装好环境及配置文件。
安装
作用:分析代码与数据,并上传,独立客户端程序 独立下载:https://docs.sonarqube.org/display/SCAN/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
大家可以把这个示例项目下载下来,能更好的帮大家学习和掌握scanner的使用哦~