一、准备工作
- sonar-scanner 我用的是sonar-scanner ,需要配置环境变量;
- sonarqube 我用的sonarqube-8.0 ;
二、sonarqube介绍常用
下载 选择develop试用版本,免费14天,可以支持c/c++和objc语言扫描;
注意:如果你下载非debug版本是不支持objc和c以及c++的;需要下载插件放在xxx/sonarqube-8.0/extensions/plugins目录下
第一步:
进入xxx/sonarqube-8.0/bin/macosx-universal-64/sonar.sh start 如果失败可以看xxx/sonarqube-8.0/logs sonar.log和es.log 常见错误后面有说明
其他常见指令:
./sonar.sh console #Debug信息 #启动服务
./sonar.sh status #状态
./sonar.sh start #停止服务
./sonar.sh stop #停止服务
./sonar.sh restart #重启服务
第二步:
进入127.0.0.1:9000 (9000可以xxx/sonarqube-8.0/conf/sonar.properties配置)
用户名、密码 都默认是admin admin
第三步:
创建项目,可以参考如下
docs.sonarqube.org/latest/setu…
会生成token,用于配置sonar.login的值
第四步:
配置sonar-project.properties文件,示例如下:
sonar.scm.exclusions.disabled=true #很关键
sonar.projectKey=xxx
sonar.projectName=xxx
sonar.projectVersion=1.0.0
sonar.projectBaseDir=.
sonar.sources=xxx1,xxx2
sonar.exclusions=xxx1,xxx2
sonar.sourceEncoding=UTF-8
sonar.language=objc
sonar.host.url=http://localhost:9000 #默认sonarqube服务地址
sonar.login=token #创建后根据项目名字生成的key
第五步:
执行如下指令完成上传代码到sonarqube执行代码扫描
sonar-scanner -X
第三步:去127.0.0.1:9000的项目验证是否正常
三、常见问题
- 启动sonarqube因es是root用户启动报错?
将sonarqube文件夹设置为新建用户,然后在启动
- sonarqube端口9001被占用,导致无法访问127.0.0.1:9000?
可以sonarqube/config/sonar.properties 修改其他端口或者终止9000进程?