接上篇,maven弄完后我们接下来安装sonar插件html
3.sonarjava
sonar是一款很是棒的代码质量管理的开源平台,虽然我只是用它来看下测试覆盖率,但它在其余方面作的也很好,下面是它的界面(安装了中文包):mysql
他能够由maven、hudson启动,下面先介绍maven启动。web
首先去官网http://www.sonarqube.org/下载(我下的是4.1版本,4.1之后的版本的启动貌似有不一样),解压后先改一下他的数据库设置,打开~\sonarqube-4.1.2\conf\sonar.properties 。sql
先将他自带的H2数据库注释掉:数据库
将mysql数据库部分的注释删除:windows
而后找到maven的setting.xml文件,在文件中加入下面这段文字:tomcat
<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> <!-- SERVER ON A REMOTE HOST --> <sonar.host.url>http://localhost:9000</sonar.host.url> </properties> </profile>
而后在数据库建立一个名称是sonar的数据库,再创建一个新用户,用户名和密码都是sonar架构
这里的主机设置成“%”是为了让其余电脑也能用这个用户名和密码访问这个数据库,完成以后,进入~\sonarqube-4.1.2\bin\windows-x86-64中(对应本身的操做系统),点击StartSonar.bat启动sonar,而后运行cmd,找到我们的项目,输入mvn sonar:sonarapp
PS:我出现过的错误
数据库链接不上:我本身把用户名和密码写错了。。。
sonar按GBK编译了项目:在pom.xml中加入
<properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties>
编译成功后
输入http://localhost:9000,就能够看到本身的项目了。
4.Hudson
首先肯定你已经安装了tomcat和JDK1.5及以上的版本,而后去hudson官网http://hudson-ci.org/下载hudson.war包
下载完后有两种安装方式:
1.直接把.war包扔到tomcat的webapp目录下,启动tomcat。
2.建立一个文件夹hudson,把hudson-3.2.1.war扔进去,设置系统变量HUDSON_HOME,路径为X:/hudson,在命令行中输入
java -jar hudson.war
输入localhost:8080/hudson-3.2.1,进入hudson
第一次启动hudson时,它会进入一个插件配置的界面,我们须要的插件以下:
这里还须要一个sonar hudson插件(在首次安装插件的界面见不到到它)
安装完毕后重启tomcat,在这个过程当中,tomcat提示我sonar插件安装失败,缘由是少了maven plugin 1.334.hpi,google找到该插件,下载后安装上,
再重启,sonar安装成功。
输入http://127.0.0.1:8080/hudson-3.2.1 进入主界面,找到系统管理,设置用户
建立用户
建立完用户后进入系统设置界面。
进入到设置界面,
设置JDK
设置maven
设置sonar
注意:在hudson中设置sonar后,若是项目在hudson中构建失败,则不会触发sonar分析,也就是说只有在hudson编译-测试-打包经过后才能启动sonar分析;
若是想让sonar在构建失败时也进行分析的话,须要~(未完待编辑)
邮箱的配置以及轮询时间这里就不详细介绍了。下面开始新建项目:
构建任务名为Test
配置SVN路径
这个URL去VisualSVN中能够找到
点击Save以后,我们就能够开始构建了
构建进行中:
构建完成后,我们就能看到下面这种状况:
至此CI的环境就基本完成了,下次会详细介绍svn实时触发hudson构建,即实现真正的持续集成。
参考文章:
[1]Hudson+Sonar+Maven+SVN详细集成介绍 - 考试类 - 道客巴巴
[2]sonar 中文版与英文版切换 - 雪中梅 - ITeye技术网站
[3]使用hudson对项目进行持续sonar分析_看不见的尾巴_新浪博客