1) 下载
从sonar官网http://www.sonarsource.org/下载到最新的2.1.2版本。大概50M。
2) 安装
1. 安装要求
在server端,sonar要求jdk 5.0和maven,这个通常可以满足。
然后是数据库支持,默认使用Derby 内嵌数据库,这个肯定不合适了,准备修改为mysql。
客户端就简单了,基本现有的主流浏览器都支持,BS架构就是方便。
解压缩下载好的包到安装路径。
2. 配置mysql
先准备好mysql,在mysql中新建名为sonar的database,encoding选择为UTF-8,然后新建名为sonar密码也是sonar的用户,设置好对sonar database的权限。
修改sonar配置文件以便使用mysql,打开sonar/conf/sonar.properties文件, 首先找到
#----- Embedded database
# Comment the following lines to deactivate the default embedded database (used only for tests and demos)
sonar.jdbc.url: jdbc:derby://localhost:1527/sonar;create=true
sonar.jdbc.driverClassName: org.apache.derby.jdbc.ClientDriver
sonar.jdbc.validationQuery: values(1)
将这里注释掉,然后找到mysql的设置,默认是被注释的,打开即可
#sonar.jdbc.url: jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8
#sonar.jdbc.driverClassName: com.mysql.jdbc.Driver
#sonar.jdbc.validationQuery: select 1
3. 启动
执行./bin/linux-x86-32/sonar.sh start,启动sonar。
默认sonar使用9000端口,直接打开浏览器访问http://192.168.0.40:9000/ 即可。默认管理员账号密码为: admin/admin。
安装过程可以说非常简单,按照官网的说法,两分钟搞定,当然是指其他的东西如maven,mysql都齐备的情况下。
3) 使用sonar
安装完了之后试用一下sonar,找到一个maven的项目,有现成的pom文件。
1. 设置maven
因为sonar是使用maven插件来分析代码并将分析结果插入数据库的,因此必须在maven的设置文件中配置好数据库信息。
打开maven的settings.xml文件,增加sonar的配置如下:
<settings>
<profiles>
<profile>
<id>sonar</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<sonar.jdbc.url>
jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8
</sonar.jdbc.url>
<sonar.jdbc.driver>com.mysql.jdbc.Driver</sonar.jdbc.driver>
<sonar.jdbc.username>sonar</sonar.jdbc.username>
<sonar.jdbc.password>sonar</sonar.jdbc.password>
</properties>
</profile>
</profiles>
</settings>
为了避免内存不足造成maven出错,建议修改maven参数,如 export MAVEN_OPTS="-Xmx512m -XX:MaxPermSize=256m" 来设置内存使用。
2. 执行sonar的分析
输入mvn sonar:sonar,即可完成sonar的分析,接着打开http://192.168.0.40:9000/就可以看到详细的分析结果。