记录了sonar的安装与配置,以及maven项目的sonar分析。
环境
Red Hat 4.1.2 x86-64
sonar-3.7.4,
下载地址
配置
配置文件目录 sonar/conf/sonar.properties
数据库 Sonar支持多种数据库,正常情况下建议使用真实数据库,例如mysql、oralcel等。
为了快速体验sonar功能,这里选择使用内存数据库,不需要修改配置文件。
默认就是使用H2内存数据库,端口 9092
sonar.jdbc.url: jdbc:h2:tcp://localhost:9092/sonar
web服务 Sonar支持独立启动,也支持使用其它web容器启动。
默认端口为9000,启动后可以通过 http://hostip:9000/ 访问
#sonar.web.host: 0.0.0.0
#sonar.web.port: 9000
#sonar.web.context: /
启动
独立启动的方式如下
$sonar/bin/{os_arch}/sonar.sh start
# 其中os_arch主要就是操作系统+位数,在本例中就是linux-x86-64,即启动命令为:
$sonar/bin/linux-x86-64/sonar.sh start
ps:查看系统位数的方法
$unama -m
x86_64
$arch
x86_64
maven配置
在需要运行代码分析的机器上,修改{$M2_HOME}/conf/settings.xml,profiles 结点添加以下内容
其中的hostip需要替换成以上sonar部署服务器的ip
<profile>
<id>sonar</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<sonar.jdbc.url>jdbc:h2:tcp://hostip:9092/sonar</sonar.jdbc.url>
<sonar.jdbc.driverClassName>org.h2.Driver</sonar.jdbc.driverClassName>
<sonar.jdbc.username>sonar</sonar.jdbc.username>
<sonar.jdbc.password>sonar</sonar.jdbc.password>
<sonar.host.url>http://hostip:9000</sonar.host.url>
</properties>
</profile>
代码分析
由于maven的sonar插件在分析代码的时候占用内存较多,因此需要设置一下MAVEN_OPTS
$export MAVEN_OPTS="-Xms512m -Xmx2048m"
执行sonar分析
$mvn clean install sonar:sonar -Dmaven.test.failure.ignore=true
查看报表
访问 http://hostip:9000/ 即可访问本次分析的报表。
(其中hostip为sonar部署服务器ip)
默认用户
admin/admin
汉化
sonar通过插件的方式支持各种语言切换,
汉化插件页面可以下载。
插件有2种安装方式,
- 使用updatecenter自动更新,登录后进入settings - updatecenter菜单选择插件后安装
- 自行下载插件,放到sonar/extensions/plugins/目录,重启sonar后生效
update center里最新的中文包已经不再适配3.7.4版本,下载
1.6版本中文包后,放到sonar/extensions/plugins 目录下,重启sonar后刷新页面,即是中文版。