maven+jenkins+sonar集成搭建 下载本文

集成质量管理平台搭建

第一章 Sonar安装 .......................................................................................................................... 2

1.1下载sonar .......................................................................................................................... 2

1.2安装sonar .......................................................................................................................... 2

1.2.1 JDK安装配置 ........................................................................................................ 2

1.2.2数据库安装 ............................................................................................................ 2

1.3成功界面............................................................................................................................. 3

1.4配置插件............................................................................................................................. 3

1.4.1插件介绍 .................................................................................................................. 3

1.4.2常用的插件: .......................................................................................................... 4

第二章 Maven安装 ........................................................................................................................ 5

2.1下载 Maven ....................................................................................................................... 5

2.2配置Maven ........................................................................................................................ 5

第三章 Jenkins安装 ........................................................................................................................ 5

3.1安装Jenkins ........................................................................................................................ 5

第四章 Sonar-Runner安装 ............................................................................................................. 6

4.1下载Sonar-Runner ............................................................................................................. 6

4.2配置Sonar-Runner环境变量 ............................................................................................ 6

4.3测试文件的配置 ................................................................................................................. 6

4.4应用sonar监测代码质量 .................................................................................................. 7

第五章环境集成 ............................................................................................................................... 7

5.1 Sonar和Jenkins集成 ......................................................................................................... 7

5.2 Jenkins系统配置 ................................................................................................................ 9

5.3 Jenkins项目配置 .............................................................................................................. 10

第六章常见错误 ............................................................................................................................. 14

6.1 sonar没有启动 ................................................................................................................. 14

6.2 Maven setting.xml配置 .................................................................................................... 15

6.3 文件POM.xml配置 ....................................................................................................... 16

6.4 0 files indexd .................................................................................................................. 16

第一章Sonar安装

1.1下载sonar

最新版版本:4.2,稳定版:3.7(本人建议下载3.7稳定版)

下载地址:http://www.sonarsource.org/downloads/

下载完成之后,要注意一个问题,官方的说明是不要安装在以数字开头的目录中。所以我们就不要解压在数字开头的目录中。

1.2安装sonar

1.2.1 JDK安装配置

这个不予多说,最基本的JAVA开发环境配置,下载JDK,配置其JAVA_HOME,PATH等。

1.2.2数据库安装

(1)本人是选择的MySQL,这里要注意的是如果你下载的是免安装版,直接解压使用的话,需要配置my.ini。

(2)在数据库中创建新用户sonar 密码为sonar 并给用户赋权。(用户和密码可以自定义,如果自定义需要更改sonar-3.7\conf\sonar.properties配置文件中得sonar.jdbc.username与sonar.jdbc.password,其默认的就是sonar)。

(3)配置sonar.properties文件。

a.配置启动的http端口:

sonar.web.host: localhost(或者你的IP)

sonar.web.port: 9000(默认是9000,你可以修改,不然会和Jenkins

的端口号冲突)

sonar.web.context: /

(三句前本来被注释,取消注释)

b.取消MySQL连接的注释,并输入自己数据库的url地址,同时将默认的sonar.jdbc.url屏蔽

#----- MySQL 5.x

# Comment the embedded database and uncomment the following line to use MySQL

sonar.jdbc.url:

jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true

#:mysql是指你要连接的事Mysql数据库,这里我给Sonar的权限是管理员所以可以用localhost,否则你要使用的你的IP地址,3306是你使用的端口号,test是我测试时创建的数据库,你需要改成你自己的数据库名。

# Optional properties

sonar.jdbc.driverClassName: com.mysql.jdbc.Driver

sonar.jdbc.validationQuery: select 1

c.进入bin中,选择适合自己系统,运行sonar.sh,如果是windows运行bat。运行sonar-3.7\bin\windows-x86-64\StartSonar.bat,打开相应的网页:http://localhost:9000测试是否配置成功,

这里的页面链接跟前头的http配置有关。(第一次运行StartSonar.bat,时需要的时间较长,请耐心等待,切不可关闭窗口重新加载,sonar其需要创建一个和Mysql数据库相关的migrating数据库和表,如果中途退出则创建不成功!)

1.3成功界面

登陆用户名和密码都是admin

1.4配置插件

1.4.1插件介绍

Sonar支持多种插件,插件的下载地址为:http://docs.codehaus.org/display/SONAR/Plugin+Library 将下载后的插件上传到${SONAR_HOME}extensions\plugins目录下,重新启动sonar。

sonar默认集成了Java Ecosystem插件,该插件是一组插件的合集

(1)Java [sonar-java-plugin]:java源代码解析,计算指标等

(2)Squid [sonar-squid-java-plugin]:检查违反Sonar定义规则的代码

(3)Checkstyle [sonar-checkstyle-plugin]:使用CheckStyle检查违反统一代码编写风格的代码

(4)FindBugs [sonar-findbugs-plugin]:使用FindBugs检查违反规则的缺陷代码

(5)PMD [sonar-pmd-plugin]:使用pmd检查违反规则的代码

(6)Surefire [sonar-surefire-plugin]:使用Surefire执行单元测试

(7)Cobertura [sonar-cobertura-plugin]:使用Cobertura获取代码覆盖率

(8)JaCoCo [sonar-jacoco-plugin]:使用JaCOCO获取代码覆盖率

1.4.2常用的插件:

(1)JavaScript代码检查:http://docs.codehaus.org/display/SONAR/JavaScript+Plugin

(2)python代码检查:http://docs.codehaus.org/display/SONAR/Python+Plugin

(3)Web页面检查(HTML、JSP、JSF、Ruby、PHP等):http://docs.codehaus.org/display/SONAR/Web+Plugin

(4)xml文件检查:http://docs.codehaus.org/display/SONAR/XML+Plugin

(5)scm源码库统计分析:http://docs.codehaus.org/display/SONAR/SCM+Stats+Plugin

(6)文件度量:http://docs.codehaus.org/display/SONAR/Tab+Metrics+Plugin

(7)中文语言包:http://docs.codehaus.org/display/SONAR/Chinese+Pack

(8)时间表显示度量结果:http://docs.codehaus.org/display/SONAR/Timeline+Plugin

(9)度量结果演进图:http://docs.codehaus.org/display/SONAR/Motion+Chart+Plugin

(b)插件配置示例(本段内容来自http://www.ibm.com/developerworks/cn/java/j-lo-sonar/