今天搭建好了SONAR质量管理平台,大概步骤:
1.下载并解压SONAR,SONAR-RUNNER;
2.设置环境变量SONAR_HOME,SONAR_RUNNER_HOME,并将$SONAR_RUNNER_HOME/BIN添加到PATH中;
3.创建数据库,字符编码为UTF-8,并配置好数据库帐号;
4.执行$SONAR_HOME/BIN/OSPATH/SONAR.SH start启动;
5.通过HTTP://LOCALHOST:9000即可访问。
Sonar作为一个代码质量管理平台,已经支持了与Maven和Ant(Sonar2.6+以上版本)的集成,同时持续集成工具Jenkins也有了相应的Sonar插件,当同时使用Jenkins、Sonar和Maven时,可以有两种方式配置:
方式1:在Jenkins中调用Maven目标sonar:sonar,这时需要在~/.m2/settings.xml文件(或$M2_HOME/conf/settings.xml文件)中进行相应的配置,如:
- <profile>
- <id>sonar</id>
- <activation>
- <activeByDefault>true</activeByDefault>
- </activation>
- <properties>
- <sonar.jdbc.url>jdbc:mysql://localhost:3306/sonar? useUnicode=true&characterEncoding=utf-8</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</sonar.host.url>
- </properties>
- </profile>
<profile>
<id>sonar</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<sonar.jdbc.url>jdbc:mysql://localhost:3306/sonar? useUnicode=true&characterEncoding=utf-8</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</sonar.host.url>
</properties>
</profile>
方式2:通过在Jenkins中调用Sonar插件来进行,这时就不需要在构建时再执行Maven目标sonar:sonar了,也可以不在setttings.xml文件中进行相应的配置,但是需要在Jenkins中事先配置好Sonar服务器等相关信息
可以选择任何一种方式来与Sonar集成,但是如果在构建过程中既执行了Maven目标sonar:sonar,又执行了Jenkins的Sonar插件,这样会不会造成什么冲突或者错误,这个暂时还没有进行尝试