1、下载sonarqube安装包

安装sonarqube之前确保机器已经安装好了jdk环境,需要jdk 1.8版本。

  1. wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube6.7.7.zip

2、安装unzip并解压sonarqube并移动到/usr/local/sonarqube ⽬录

  1. # 安装unzip包
  2. yum install unzip
  3. # 解压缩
  4. unzip sonarqube-6.7.7.zip
  5. # 移动安装包到/usr/local/sonarqube⽬录
  6. mv sonarqube-6.7.7 /usr/local/sonarqube

3、mysql⾥新增数据库

sonarqube的数据存储需要⽤到mysql,需要新增⼀个sonarqube数据库,注意mysql的版本需要 5.6以上:

  1. CREATE DATABASE sonarqube DEFAULT CHARACTER SET utf8;

4、修改sonarqube相应的配置

  1. # 编辑配置⽂件
  2. vi /usr/local/sonarqube/sonarqube-6.7.7/conf/sonar.properties

修改的配置项如下:

  1. sonar.jdbc.username=root
  2. sonar.jdbc.password=123456
  3. sonar.jdbc.url=jdbc:mysql://localhost:3306/sonarqube?
  4. useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useC
  5. onfigs=maxPerformance&useSSL=false
  6. sonar.web.context=/sonarqube
  7. sonar.web.host=0.0.0.0
  8. sonar.web.port=9000

5、启动sonarqube

  1. # 先创建⼀个sonarqube⽤户 注意不能使⽤root启动sonarqube
  2. useradd sonarqube
  3. # 修改sonarqube⽬录权限
  4. chown -R sonarqube:sonarqube /usr/local/sonarqube
  5. # 切换到sonarqube
  6. su sonarqube
  7. # 启动sonarqube
  8. ./bin/linux-x86-64/sonar.sh start

查看启动⽇志: tail -200f logs/sonar.log

7、访问sonarqube

在浏览器中输⼊http://ip:9000/sonarqube,就可以进⼊到sonarqube登录界⾯,如下图:
image.png
默认的账号与密码是 admin / admin。

8、设置sonarqube中文汉化

安装中⽂汉化包 去到github下载⼀个汉化版jar包,地址是
https://github.com/xuhuisheng/sonar-l10nzh/releases/tag/sonar-l10n-zh-plugin-1.19
image.png 然后将下载下来的jar放⼊到/usr/local/sonarqube/sonarqube-6.7.7/extensions/plugins⽬录下:

  1. cd /usr/local/sonarqube/sonarqube-6.7.7/extensions/plugins
  2. # 下载汉化版jar包
  3. wget https://github.com/xuhuisheng/sonar-l10n-zh/releases/download/sonarl10n-zh-plugin-1.19/sonar-l10n-zh-plugin-1.19.jar

然后重启sonarqube。

9、 尝试推送⼀个demo⼯程到sonarquebe

先创建⼀个普通的spring boot⼯程,如下图:
image.png
然后执⾏mvn clean package进⾏编译打包, 然后执⾏mvn sonar:sonar命令推送这个demo⼯程的代码质量检查结果到sonarqube,如下:

  1. mvn sonar:sonar -Dsonar.host.url=http://localhost:9000/sonarqube -Dsonar.login=e34ac9c51a08f611427b63854e4cfe679daac474

最后在sonarqube的主⻚上就可以看到这个demo项⽬了