1 安装SonarQube
下载好SonarQube后减压,下载地址https://www.sonarqube.org/downloads/。
在conf目录中找到wrapper.conf文件,修改wrapper.java.command配置为本地的java路径,注意:Java版本只能为Java11,不然服务启动不了
cd进bin下面对应的系统文件夹
输入 sh sonar.sh start 启动sonar服务,启动后可使用sh sonar.sh status 命令查看是否启动成功
启动成功后在浏览器输入localhost:9000
2 配置 SonarQube
浏览器打开后登录 默认用户名密码都为admin
登录后可在配置-应用市场安装汉化包,输入Chinese 搜索 安装Chinese pack
创建应用最后的页面

创建成功后配置Android studio
在项目的build.gradle 添加插件 apply plugin: org.sonarqube
添加引用 classpath org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.7
在项目下的gradle.properties文件中添加代码,配置好这些属性后 执行命令就只需执行 ./gradlew sonarqube,
systemProp.sonar.host.url=http://58.87.93.242:9000 //sonar地址
systemProp.sonar.login=8e7090750ca9668d7c852d515106d4b5021aa3e3 //创建项目后生成的命令中的值
systemProp.sonar.projectKey=julive_new_house // 创建项目时填写的项目标示
systemProp.sonar.projectName=[app]julive_new_house //创建项目时填写的显示名
配置项目:
整个项目的属性配置位置在项目的build.gradle中,这里的配置全局生效。其他的属性详见官方文档:SonarScanner for Gradle
sonarqube {
properties {
property “sonar.sourceEncoding”, “UTF-8”
}
}
各个module的配置,配置位置在各个module下的build.gradle
project(“:app”) {
sonarqube {
properties {
property sonar.sources , ./src/main/java/com/comjia/kanjiaestate //需要扫描的文件路径 property sonar.exclusion , ./app/src/main/java/com/comjia/kanjiaestate/guide/report/ReportService.java //需要排除的文件路径
}
}
}
project(“:sobot”) {
sonarqube {
skipProject = true //true代表不扫描这个module
}
}
3.sonar权限问题
由于是系统自动扫描,肯定会有误报的情况,sonar支持将问题的状态设置为误判,设置的位置如下图,可以设置的状态有五种,打开、确认、解决、误判、标记为不会修复。

但是有的用户登录进来后只有确认的选项,是由于权限不够。设置权限需要管理员登录,打开需要设置的项目,选择项目配置下的权限。打开之后在问题管理员的选项下给需要设置的用户打上对勾。



















暂无评论内容