参考:
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/ 出现运行界面;安装中文语言
搜索chinese Pack,安装中文语言包。
安装成功后,重启sonarqube服务,再次访问http://localhost:9000/,即可看到中文界面。
配置开机自启动
$ sudo vi /etc/init.d/sonar
#!/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时,分析成功!
转载于:https://blog.51cto.com/dadapeng/1934568