jenkins中集成sonar,使用findbug、pmd、checkstyle提升代码质量

   实际上jenkins单独也可以安装这几个插件,只是没有像sonar这样,专注于集成代码质量检查插件这么专业,所以完美主义的人需要单独装一个sonar。



    sonar的全名sonarqube,像jenkins一样,是一个单独的web服务器,基于浏览器的控制界面,需要单独安装后,在jenkins中通过sonar scanner runner进行远程调用。

    sonarqube的安装过程相对来说比较简单,一个它支持的数据库,一个相应版本的jdk,简单配置下就可以跑起来,然后在sonarqube控制台安装findbugs、PMD、checkstyle插件,对于中国用户还有中文语言包插件,一个完整的sonar服务器就搭好了。

    需要特别注意的是,sonaqube的官方文档里并未说明和jenkins搭配需要用与jenkins使用的jdk版本一致,jenkins插件sonar scanner runner的版本也要和sonarqube server的版本的匹配,若不匹配,就是会有各种奇芭问题出现,让你百撕不得骑姐。

   开始安装!

   下载sonarqube, 下载地址,下载与你jenkins jdk版本一致的 sonarqube。对于使用jdk1.7的jenkins,下载sonarqube5.5。

   解压到/opt/目录,于是sonarquber的目录为/opt/sonarqube5.5,修改该目录下的配置文件:
#conf/sonar.properties
#修改以下几行
sonar.jdbc.username=sonar
sonar.jdbc.password=sonar、

#把mysql数据库url的注释去掉,我们使用mysql数据库
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance

#若你的服务器不能爬到墙外更新插件,此处可以配置一个http代理
#我就遇到这样的问题了,配个代理速度很快。
#http.proxyHost=
#http.proxyPort=


    配置完成后,需要创建一个mysql数据库,数据库创建如下:

#创建数据库sonar
create database sonar default charset utf8 COLLATE utf8_general_ci;

#创建数据库用户sonar,密码sonar
create user  sonar   IDENTIFIED by 'sonar';  

#给sonar用户赋权限
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE on sonar.*  to sonar@'%';
flush  privileges ;



    好了,万事俱备,就差启动,启动前先确认你的9000端口未被其它应用占用,执行启动命令:
#当前目录为/opt/sonarqube5.5,不同的操作系统选择不同的启动脚本
./bin/linux-x86-64/sonar.sh start

    打开url http://192.168.1.23:9000,密录用户名admin,密码admin,看到下面的登录界面,你就成功了,三分之一了。


    接下来配置插件,sonarqube登录成功后在控制台界面点administration-->system-->update center-->available,会显示出可以安装的插件



未完待续……

猜你喜欢

转载自powertech.iteye.com/blog/2325832