Sonar的安装与设置

Sonar是一个用于代码质量管理的开源平台,用于管理Java源代码的质量。通过插件机制,Sonar 可以集成不同的测试工具,代码分析工具,以及持续集成工具,比如pmd-cpd、checkstyle、findbugs、Jenkins。通过不同的插件对这些结果进行再加工处理,通过量化的方式度量代码质量的变化,从而可以方便地对不同规模和种类的工程进行代码质量管理。
 
1.  配置数据库
创建sonar数据库
create database sonar default charset=utf8;
配置 sonar 用户
create user 'sonar' identified by 'sonar123';
grant all on sonar.* to 'sonar'@'%' identified by 'sonar123';
grant all on sonar.* to 'sonar'@'localhost' identified by 'sonar123';
flush privileges;
 
2.  下载sonar和sonar-runner、sonar汉化包(sonar-l10n-zh-plugin)
Sonarqube安装的环境要求: java和mysql。
 
3.  修改 sonarque和 sonar-runner 的配置
编辑 ${SONAR_HOME}/conf/sonar.properties 配置数据库
sonar.jdbc.username=sonar
sonar.jdbc.password=sonar123

sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance
 
编辑 ${sonar-runner_home}/conf/sonar-runner.properties 配置数据库
sonar.host.url=http://localhost:9000
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8
sonar.jdbc.username=sonar
sonar.jdbc.password=sonar123
sonar.sourceEncoding=UTF-8
sonar.login=admin
sonar.password=admin
 
4.  设置环境变量 (Mac OSX)
sudo vi ~/.bash_profile
# sonar config
export SONAR_HOME=/Users/jiangzhiqiang/dev/sonarqube-5.1.1
export SONAR_RUNNER_HOME=/Users/jiangzhiqiang/dev/sonar-runner-2.4
export PATH=${PATH}:${SONAR_RUNNER_HOME}
 
使配置生效 
source ~/.bash_profile
 
查看配置是否生效
echo $SONAR_HOME
 
在命令行里执行 sonar-runner -h  如果显示内容, 则sonar-runner配置成功。
 
5.  安装插件
1.   使用Update Center,   用管理员账号登录 “Administer System” 后, Settings —> System —>
Update Center —> Available  Plugins ,  搜索合适的插件安装。
2.   下载插件,放在 $SONARQUBE_HOME/extensions/plugins
3.   重启 sonar 
./sonar.sh restart
 
重启 sonar 后安装的插件才会生效。
 
6.  启动 sonar
目录切换至sonar的<install_directory>/bin/linux-x86-64/目录,启动服务
./sonar.sh start     启动服务
./sonar.sh stop     停止服务
./sonar.sh restart  重启服务
 
启动 sonar 服务后,访问  http://localhost:9000
或   ps aux|grep sonar 显示 —>
jiangzhiqiang     705   0.1  2.9  3817144 240372   ??  S     3:15下午   0:27.72 /Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home/jre/bin/java -Djava.awt.headless=true -Xmx1G -Xms256m -Xss256k -Djava.net.preferIPv4Stack=true -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -XX:+HeapDumpOnOutOfMemoryError -Djava.io.tmpdir=/Users/jiangzhiqiang/dev/sonarqube-5.1.1/temp -cp ./lib/common/*:./lib/search/* org.sonar.search.SearchServer /var/folders/72/0c884kmd7m1d4qsg1jcfm5540000gn/T/sq-process2282470883822622271properties
为启动成功。
 
7.  为项目配置 sonar runner 运行需要的配置
在项目的根目录创建 sonar-project.properties,内容:
# required metadata
# projectKey 是项目的唯一标识,不能重复
sonar.projectKey=pattern
sonar.projectName=pattern
sonar.projectVersion=1.0 
sonar.sourceEncoding=UTF-8
sonar.modules=java-module
#sonar.modules=java-module,javascript-module,html-module

# Java module
java-module.sonar.projectName=Java Module
java-module.sonar.language=java
#  sources为源码目录
java-module.sonar.sources=src
#  .表示projectBaseDir指定的目录
java-module.sonar.projectBaseDir=.
#  binaries为编译后的classes目录,这个目录要注意一下,
#  如果都在bin下面或者目录还有很多层级才到classe目录,可以直接为sonar.binaries=bin,
#  sonar会自动遍历所有目录
sonar.binaries=target/classes

# JavaScript module
#javascript-module.sonar.projectName=JavaScript Module
#javascript-module.sonar.language=js
#javascript-module.sonar.sources=js
#javascript-module.sonar.projectBaseDir=webapp

#  webroot  \src\main\webapp

# Html module
#html-module.sonar.projectName=Html Module
#html-module.sonar.language=web
#html-module.sonar.sources=pages
#html-module.sonar.projectBaseDir=webapp
 
8.  项目分析
在项目目录路径运行  sonar-runner  -X, 即对项目进行分析,成功后访问http:\\localhost:9000 查看分析的结果。
 
注:加 -X 是debug模式。 

相关推荐