4、JMSN~Sonar代码质量检测平台

本文详细介绍了Sonar代码质量检测工具的安装、配置过程,包括数据库设置、端口调整及与Maven的集成方法。通过配置Maven的settings.xml文件,实现与Sonar服务器的交互,自动下载对应版本的Sonar插件,进行代码扫描。

1、sonar介绍

sonar是一个代码质量检测的工具,包括测试覆盖率,代码隐藏的bug等检查

2、下载

https://www.sonarqube.org/downloads/

3、在MySQL中创建sonar数据库,并且给sonar用户设置权限

CREATE DATABASE sonar5_6_7 CHARACTER SET utf8 COLLATE utf8_general_ci;

grant all privileges on sonar5_6_7.* to 'sonar'@'localhost' identified by 'sonar';

grant all on sonar5_6_7.* to sonar@'%' identified by 'sonar';

flush privileges;

exit;

4、安装

sonar是一个默认基于derby数据库的,如果需要可以修改为MySQL。

解压后修改配置文件 conf/sonar.properties

5、启动sonar

bin/linux-x86-64/sonar.sh start ; tailf logs/sonar.log

6、发现问题

默认的9000端口被占用,设置为其他未被占用的端口

查看端口被占用的命令 netstat -nltp | grep 9800

7、页面展示

http://192.168.0.186:9800

8、在maven中配置sonar插件和sonar服务器交互

只需要在settings.xml中配置sonar服务器的地址,这样他就能够从sonar服务器中下载对应版本的sonar插件,从而获得代码扫描的能力。

maven 的settings文件配置如下

<profile>
   <id>sonar</id>
   <activation>
      <activeByDefault>true</activeByDefault>
   </activation>
   <properties>
      <sonar.jdbc.url>jdbc:mysql://192.168.0.186:3306/sonar</sonar.jdbc.url>  # 数据库要和sonar一样
      <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://192.168.0.186:9800</sonar.host.url>  #通过sonar下载对应插件,进行代码扫描
   </properties>
</profile>

其工作逻辑如下:

9、在Jenkins打包过程中的一些关键运行日志(开启debug级别)

  • 1、开始扫描项目

  • 2、maven 从sonar下载并使用sonar插件

10、疑问?

  • 1、不同版本的sonar,数据库表设计不一样,maven怎么知道?

    maven 从sonar上下载对应的sonar插件jar包即可。

  • 2、如果想要改换一个sonar版本,比如5.1.2,该怎么处理?

    只需要在安装一个sonar5.1.2,配置好(如果之前版本没有停止的话,端口不冲突即可,记得数据库要换),然后在maven的settings.xml文件中重新指向现在的sonar服务器及端口以及数据库即可。在整个过程中Jenkins不需要改变。

转载于:https://my.oschina.net/liufukin/blog/2221481

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值