Sonar的安装很简单,下载包然后运行bin就可以了,可以参见文档:http://www.ibm.com/developerworks/cn/java/j-lo-sonar/index.html。
Sonar默认是使用Jetty做服务器,Derby做数据库的,这些都有内置。
如果想让Sonar性能更好,就需要将数据库改为Mysql了。
Sonar安装完成后,执行 sonar.sh start 就可以访问web界面了,http://10.10.69.125:9000/
如何将自己的项目集成到Sonar上呢,原理很简单,在项目中使用Sonar的maven插件,Sonar插件会分析项目代码的质量,然后将数据发送到Sonar的数据库,
Sonar的web界面就会自动从数据库中读取数据进行展示。
架构流程如下:
那需要在项目上做哪些改动呢,
修改本地 .m2/settings.xml文件,在里面添加Sonar的数据库配置,以便Sonar插件分析完代码后能将数据上传到哪儿。
如果是用的Sonar默认数据库:
<profile>
<id>sonar</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<sonar.jdbc.url>
jdbc:h2:tcp://ip:9092/sonar;create=true
</sonar.jdbc.url>
<sonar.jdbc.driver>org.h2.Driver</sonar.jdbc.driver>
<sonar.jdbc.username>sonar</sonar.jdbc.username>
<sonar.jdbc.password>sonar</sonar.jdbc.password>
<sonar.host.url>http://ip:9000</sonar.host.url>
</properties>
</profile>
如果将Sonar的数据修改成了Mysql:
<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>
<sonar.host.url>http://localhost:9000</sonar.host.url>
</properties>
</profile>
然后在项目目录使用 mvn sonar:sonar即可自动下载运行插件了。
至此,Sonar基本配置完成。
Sonar有很多配置是在其目录的conf/sonar.properties里。
另外,其实Sonar工具在于使用而不是安装。Sonar有很多插件,简单讲一下插件的安装:
去官方网站:http://docs.codehaus.org/display/SONAR/Plugin+Library
下载指定插件的 jar包,
然后将下载的 jar 文件放到 sonar-2.11\extensions\plugins 路径下。重启 Sonar,该插件就在 Sonar 的平台上运行并开始工作。