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,会显示出可以安装的插件
未完待续……