预置条件:
- Java环境 – JDK 1.8+
- Mysql数据库 – Mysql-5.6+
- 系统是ubuntu

数据库配置
进入数据库命令:
mysql -u root -p
执行以下命令是新创建一个
sonar
库和账户,也可以使用root
账户,忽略下面创建账户语句,只执行创建sonar
库语句即可。
执行命令:
# 建库语句
mysql> CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;
# 建用户语句
mysql> CREATE USER 'sonar' IDENTIFIED BY 'sonar';
mysql> GRANT ALL ON sonar.* TO 'sonar'@'%' IDENTIFIED BY 'sonar';
mysql> GRANT ALL ON sonar.* TO 'sonar'@'localhost' IDENTIFIED BY 'sonar';
mysql> FLUSH PRIVILEGES;
安装sonar
- 将下载的sonar-6.7.1.zip包解压
- 修改sonar配置文件,编辑
/conf/sonar.properties
文件,配置数据库设置,默认已经提供了各类数据库的支持 这里使用mysql,因此取消mysql模块的注释
sonar.jdbc.username=sonar
sonar.jdbc.password=sonar
sonar.jdbc.url=jdbc:mysql://127.0.0.1:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance
#sonar默认端口号是9000.如需修改,解注
sonar.web.port=9000
启动服务
在启动服务之前,需要先赋权
linux下切换到root用户,执行:
chmod -R 777 sonarqube-6.7.1
目录切换至sonar目录,启动服务
cd ~/macosx-universal-64/
#./sonar.sh start //启动服务
#./sonar.sh stop //停止服务
#./sonar.sh restart //重启服务
#./sonar.sh console //带输出的启动
启动完成后,打开浏览器输入:localhost:9000
默认管理员账号密码都是:admin
如果未正常打开页面,请查看sonarqube-5.5/logs/sonar.log日志
安装插件
登录系统后,点击
Administration > Marketplace.

我们以汉化插件为例,在“插件市场”的search中搜索Chinese

点击install
等待安装,安装成功后,页面中最上边会出现重启提示,点击restart
,重启即可。

代码扫描
在系统配置的时候,输入完名称,会出现一个token,,之后会给我们一个maven执行代码。后续也在可在帮助中找到
点击右上角的问号按钮,打开帮助对话框

点击“教程” – “分析项目”

这里可以生成一个令牌,或者输入一个之前创建好的令牌。

如果出现令牌名称重复,在这里删除一下:

创建好令牌后,点击继续,会看到maven命令了:

将命令在项目中执行一下,就会执行代码分析了!

错误总结:
删除'sonar'mysql的用户信息:
drop user 'sonar'@'%'
Unable to start JVM: No such file or directory (2)
配置/conf/wrapper.conf
的wrapper.java.command
参数,改成jdk的绝对路径
Caused by: java.lang.RuntimeException: can not run elasticsearch as root
不能用root用户运行elasticsearch
https://my.oschina.net/topeagle/blog/591451?fromerr=mzOr2qzZ
java.lang.IllegalStateException: failed to obtain node locks
使用ls -all
命令查看/data
目录中内容,是否是当前用户创建的目录

java.nio.file.AccessDeniedException: /home/ubuntu/software/sonarqube-7.0/temp/conf/es/jvm.options
使用java -version
检测jdk是否安装,环境变量是否配置正确。如果安装并且设置正确的环境变量,尝试执行source /etc/profile
,之后删除sonar
目录下的temp
文件夹