最近试了试sonarqube来检测自己的代码, = =不知道是不是我自己电脑配置低转了好久踩了好多坑才装上。
安装sonarqube7.4
这里我主要是安装来检测php代码的。数据库选择mysql,就不额外装其他库了。最新的7.9版貌似已经不支持mysql。这里我就选择7.4了。下载地址
下载完成之后修改配置文件 /conf/sonar.properties
追加一下内容
// 修改默认web访问端口
sonar.web.port=9889
// 连接数据库配置
sonar.jdbc.username=root
sonar.jdbc.password=1234qwer
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance
sonar.sorceEncoding=UTF-8
然后数据库添加sonar库即可,进入/bin/macosx-universal-64
执行
./sonar start
稍等片刻,访问 http://localhost:9889
汉化包下载地址 下载对应文件添加到/extensions/plugins/
重启即可。
添加项目测试
sonar-scanner \
-Dsonar.projectKey=test \
-Dsonar.sources=. \
-Dsonar.language= php \
-Dsonar.host.url=http://localhost:9889 \
-Dsonar.login=f8336d6d1c3de6b430f312ac627f7e0a29031229
示例中没有区分php自己跑命令的时候添加一条就好了
安装sonar-scanenr按照页面提示下载sonar-scanner文件。修改/conf/sonar-scanner.properties
追加
sonar.host.url=http://localhost:9889
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8
sonar.jdbc.username=root
sonar.jdbc.password=1234qwer
将/bin/sonar-scanner
命令追加到$PATH即可,在项目根目录下执行上面的命令,效果如下
遇到的问题:
1 ERROR: Failed to upload report - An error has occurred. Please contact your administrator
解决:修改mysql max_allowed_packet大小
2 sonarqube 7.9的时候要求java版本11以上,但是又不想修改本地版本
解决:修改/conf/wrapper.conf
中的wrapper.java.command
指向对应版本的java或者别名命令