参考:
https://docs.sonarqube.org/display/HOME/SonarQube+Platform
http://blog.csdn.net/cuiaamay/article/details/52057091
https://my.oschina.net/jiangbianwanghai/blog/478338?p=1
http://blog.csdn.net/u010028869/article/details/50736201
http://www.cnblogs.com/qiaoyeye/p/5249786.html
http://www.codeweblog.com/sonarqube%E4%B8%8Esonarrunner%E5%AE%89%E8%A3%85%E9%85%8D%E7%BD%AE/    

OS环境:CentOS 6.8 X64

其他环境:
(1)sonarqube-5.6.6.zip 
(2) sonar-scanner-cli-3.0.3.778-linux.zip 
下载后解压缩到/usr下,并重命名sonarqube, sonar-scanner(3)
需要JDK1.6+支持;(4)需要Mysql数据库5.6支持;

1)创建数据库及用户

在mysql中执行如下脚本创建数据库及mysql用户

#mysql -u root -p
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;

2)编辑${SONAR_HOME}/conf/sonar.properties配置数据库:

#----- MySQL 5.6 or greater
# Only InnoDB storage engine is supported (not myISAM).
# Only the bundled driver is supported. It can not be changed.
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance
sonar.jdbc.username=sonar
sonar.jdbc.password=sonar
sonar.sorceEncoding=UTF-8
sonar.login=admin
sonar.password=admin

3)设置环境变量

# vi /etc/profile

增加和修改下面内容

export SONAR_HOME=/usr/sonarqube
export SONAR_RUNNER_HOME=/usr/sonar-scanner
export PATH=$PATH:$SONAR_HOME/bin:$SONAR_RUNNER_HOME/bin

使环境变量生效

# source /etc/profile

4)启动Sonar

#cd /usr/local/sonarqube-5.6.6/bin/linux-x86-64
#./sonar.sh start

另外,启动/停止/重启命令如下: 
#./sonar.sh start   启动服务 
#./sonar.sh stop    停止服务 
#./sonar.sh restart 重启服务

5)打开浏览器输入 http://localhost:9000/ 出现运行界面;安装中文语言

wKiom1k-NP6AEMsDAABV4Gt1yf8771.jpg

搜索chinese Pack,安装中文语言包。
安装成功后,重启sonarqube服务,再次访问http://localhost:9000/,即可看到中文界面。

配置开机自启动

$ sudo vi /etc/init.d/sonar

  1. #!/bin/sh  
    #  
    # rc file for SonarQube  
    #  
    # chkconfig: 345 96 10  
    # description:SonarQube system (www.sonarsource.org)  
    #  
    ### BEGIN INIT INFO  
    # Provides: sonar  
    # Required-Start:$network  
    # Required-Stop:$network  
    # Default-Start: 3 4 5  
    # Default-Stop: 0 1 2 6  
    # Short-Description:SonarQube system (www.sonarsource.org)  
    # Description:SonarQube system (www.sonarsource.org)  
    ### END INIT INFO  
    /usr/bin/sonar $*

添加启动服务:

$ sudo ln -s /home/sonar/sonar/bin/Linux-x86-64/sonar.sh /usr/bin/sonar

$ sudo chmod 755 /etc/init.d/sonar

$ sudo chkconfig -add sonar

配置Sonar-scanner

修改配置文件sonar-scanner.properties

#----- Default SonarQube server
sonar.host.url=http://localhost:9000
sonar.login=admin
sonar.password=admin
#----- Default source code encoding
sonar.sourceEncoding=UTF-8

测试Sonar-Scanner运行

#sonar-scanner -h

分析代码(旧版代码样例)

运行sonar-runner分析源代码Sonar官方已经提供了非常全的代码样例便于新手入门用。下载地址:https://github.com/SonarSource/sonar-examples/archive/master.zip

[root@master software]# wget -c https://github.com/SonarSource/sonar-examples/archive/master.zip
[root@master software]# unzip sonar-examples-master.zip
[root@master software]# mv sonar-examples-master /usr/local/sonar-examples
[root@master software]#cd /usr/local/sonar-examples/projects/languages/java/sonar-runner/java-sonar-runner-simple
[root@master java-sonar-runner-simple]# /usr/local/sonar-runner/bin/sonar-runner

在代码文件夹的根目录下新建Sonar-scanner的配置文件sonar-project.properties

sonar.projectKey=java-sonar-runner-test  
sonar.projectName=java-sonar-runner-test  
sonar.projectVersion=1.0  
# Set modules IDs  
sonar.modules=module-one,module-two  
# Modules inheritproperties set at parent level  
sonar.sources=src  
sonar.language=java  
sonar.java.libraries=build  
sonar.branch=newbranch

然后在命令行下执行

#sonar-scanner

控制台会打印分析过程,当出现SUCCESS时,分析成功!