SonarQube一款自动化的代码检查的工具,可以检测代码bug、代码漏洞和不良的代码风格。你可以将整合到你所在工作流当中,通过分支的pull请求触发Sonar进行扫描。也可以整合到 Jenkins中,在构建项目时触发Sonar。
从官网下载sonarQube指定版本,我这里下载的是社区版SonarQube7.6.
(因为官网上面说新的版本不支持mysql数据库了,而且jdk只支持jdk11,或者OpenJDK)
解压文件:
unzip sonarqube-7.6.zip -d /data/webserver/project/sonarqube-7.6
配置数据库SonarQube服务器需要一个数据库来储存数据,当前版本8.2已经不支持mysql了。SonarQube7.6只能用mysql5.6或mysql5.7,不支持其它版本的Mysql。但是可以支持其它类型的数据库,并且它有内置的H2内存型数据库。
连接mysql, 新建数据库sonar
create database sonar default character set utf8 collate utf8_general_ci;
修改SonarQube服务器的配置文件 $SOANR_HOME/conf/sonar.properties
# 数据库连接 url sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar? useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false # 数据库连接账号 sonar.jdbc.username=root # 数据库连接密码 sonar.jdbc.password=123456 sonar.sorceEncoding=UTF-8 # 设置sonar的登录账号 sonar.login=admin # 设置sonar的登录密码 sonar.password=admin启动SONARQUBE服务器
在启动SonarQube之后需要注意,由于SonarQube中有elasticsearch服务( elasticsearch默认占用9001端口),所以机器必须要开通9001端口,
并且启动es (版本es5+) 需要非root用户,需要新建一个用户
adduser sonar # 新建用户
chown -R sonar $SONAR_HOME # 将sonarqube文件及其子文件的拥有者设置为sonar用户
./$SONAR_HOME/bin/[os]/sonar.sh console # 如果是Linux64位的,[os]就是linux-x86-64, console 命令行启动
安装过程遇到问题:
1 用root 启动,失败 查看 es.log
改用sonar用户启动
发现没有权限:把日志和临时文件夹都设置权限
chmod -R 777 temp/
chmod -R 777 logs/
最后还是没有启动起来,直接想崩溃了。
再查看日志:发现MySQL版本问题
看来要跑通它,还能升级数据库
我想静静了,休息一下,考虑是数据库升级,还是再装一个数据库,怎么能影响最小
要知道后续,且听下次分解吧!!



