SONAR安装及与JENKINS的集成

时间:2022-09-24 13:01:21

    今天搭建好了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文件)中进行相应的配置,如:

  1.     <profile>  
  2.     <id>sonar</id>  
  3.     <activation>  
  4.         <activeByDefault>true</activeByDefault>  
  5.     </activation>  
  6.     <properties>  
  7.              <sonar.jdbc.url>jdbc:mysql://localhost:3306/sonar?                  useUnicode=true&amp;characterEncoding=utf-8</sonar.jdbc.url>  
  8.             <sonar.jdbc.driver>com.mysql.jdbc.Driver</sonar.jdbc.driver>  
  9.             <sonar.jdbc.username>sonar</sonar.jdbc.username>  
  10.             <sonar.jdbc.password>sonar</sonar.jdbc.password>  
  11.             <sonar.host.url>http://localhost:9000/sonar</sonar.host.url>  
  12.     </properties>  
  13. </profile>  
     <profile>
<id>sonar</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<sonar.jdbc.url>jdbc:mysql://localhost:3306/sonar? useUnicode=true&amp;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插件,这样会不会造成什么冲突或者错误,这个暂时还没有进行尝试