一、配置
本地配置:
- google sonarqube,官网下载(8.3版本需要java11)
- 下载后解压,配环境变量
docker配置:
docker search sonarqube
,能看到官方镜像docker pull sonarqube
把镜像拉下来- 参考https://docs.sonarqube.org/latest/setup/get-started-2-minutes/ 建一个image:
docker run -d --name sonarqube -p 9000:9000 sonarqube
,如果需要连接本地数据库则添加对应jdbc设置语句,默认映射端口为9000
二、运行服务
本地配置:
- 进入解压位置,执行bin/环境/.exe或者.sh
- 进入http://localhost:9000/确认运行状态
docker配置:
- docker dashboard上点击运行
- 进入http://localhost:9000/确认运行状态
三、SonarQube基本配置
- 登录:右上角login,使用默认管理员账号密码登录(admin,admin)
- 切换语言包:顶部菜单administration,下拉菜单market,搜索插件chinese安装,重启服务器
四、本地待分析项目配置
整体参考https://docs.sonarqube.org/latest/analapply plugin: “org.sonarqube”ysis/scan/ ,本文以音乐圣经安卓项目为例
- 进入http://localhost:9000/ ,点右上角+号添加项目,配置key、显示名字,并创建一个令牌
- 项目根目录gradle根节点上添加
apply plugin: "org.sonarqube"
- 项目根目录gradle根节点上
sonarqube {
properties {
property "sonar.projectName", "musicbible-android"
property "sonar.projectKey", "musicbible-android"
property "sonar.sourceEncoding", "UTF-8"
property "sonar.sources", "src/main/java"
property "sonar.exclusions", '**/*Test*/**,' +
'*.json,' +
'**/*test*/**,' +
'**/.gradle/**,' +
'**/R.class'
}
}
五、本地分析项目并上传结果到服务器
- 命令行执行:
gradle sonarqube -Dsonar.projectKey=com.boostfield.musicbible -Dsonar.host.url=http://localhost:9000 -Dsonar.login=705a58fb1e19b89eae2e74db40211917d8945a43
参数说明:key:服务器里配置的项目识别key,host.url:服务器地址,login:服务器里配置的项目识别令牌,执行后稍等一段时间就可以在http://localhost:9000/projects 里看到分析结果
- 与fastlane集成:
fastlane中添加如下语句
desc "静态代码检测"
lane :lint do
puts("开始静态代码检测");
gradle(
task: 'sonarqube',
properties: {
"Dsonar.projectKey" => "com.boostfield.musicbible",
"Dsonar.host.url" => "http://localhost:9000 ",
"Dsonar.login" => "705a58fb1e19b89eae2e74db40211917d8945a43",
}
);
puts("静态代码检测结束");
end
命令行执行:fastlane lint
,执行后稍等一段时间就可以在http://localhost:9000/projects 里看到分析结果
“SonarQube静态代码分析工具的配置和使用”上的一条回复
11