配置Sonar、Jenkins进行持续审查(2)

Sonar默认的端口是”9000”、默认的上下文路径是”/”、默认的网络接口是”0.0.0.0”,默认的管理员帐号和密码为:admin/admin,这些参数都可以在配置文件中修改:

$ vi ${SONAR_HOME}/conf/sonar.properties

配置Sonar、Jenkins进行持续审查

2)作为Web项目,部署到Tomcat等应用服务器中

a. 确保conf/sonar.properties、conf/wrapper.conf未被修改使用过

b. 执行如下命令生成war包,将生成的sonar.war部署到应用服务器中

$ ${SONAR_HOME}/war/build-war.sh

c. 启动Tomcat, 通过 :8080/sonar 访问.

Tomcat安装配置参见:CentOS系统中安装Tomcat7并设置为自启动服务 

4、配置为自启动服务

使用root账户或者开启sudo权限操作。

创建自启动脚本文件/etc/init.d/sonar

# vi /etc/init.d/sonar

添加如下内容

#!/bin/sh # # rc file for SonarQube # # chkconfig: 345 96 10 # description: SonarQube system () # ### BEGIN INIT INFO # Provides: sonar # Required-Start: $network # Required-Stop: $network # Default-Start: 3 4 5 # Default-Stop: 0 1 2 6 # Short-Description: SonarQube system () # Description: SonarQube system () ### END INIT INFO /usr/bin/sonar $*

添加启动服务

# ln -s $SONAR_HOME/bin/linux-x86-64/sonar.sh /usr/bin/sonar # chmod 755 /etc/init.d/sonar # chkconfig --add sonar

5、配置插件

a)插件介绍

Sonar支持多种插件,插件的下载地址为:+Library

将下载后的插件上传到${SONAR_HOME}extensions\plugins目录下,重新启动sonar。

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

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

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

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

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

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

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

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

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

下面列出了一些常用的插件:

b)插件配置示例(本段内容来自    )

Sonar 的主要特色是对不同工具产生的检查结果进行再加工处理,Sonar 还向用户提供了对数据进行个性化处理的方法。

本节以 Technical Debt 插件为例说明如何通过设置参数影响最后的报告结果。首先了解一下这个插件中的“技术债务”的概念,这个概念最早是在 1992 年由 Ward Cunningham 在他的论文“The WyCash Portfolio Management System”中提出的,之后被软件工程界接受并推广,《重构》的作者 Martin Fowler 也在其 网站上对技术债务有所介绍。其实原理可以理解为“出来混早晚要还的”,当前不规范的代码,会对以后产品修改的成本造成影响。

Soanr 的 Technical Debt 插件提供了默认的计算公式,通过对其中的权重参数进行配置,可以适应不同公司和项目对技术债务的计算。

配置Sonar、Jenkins进行持续审查

 

以上的各项数据指标,可以根据自己公司和项目的不同情况进行设置,如图所示:

配置Sonar、Jenkins进行持续审查

例如默认参数下同一个项目的技术债务指标如下:

配置Sonar、Jenkins进行持续审查

修改了参数后的结果为:

配置Sonar、Jenkins进行持续审查

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/15088.html