SonarQube是一个管理代码质量的开放平台。
可以从七个维度检测代码质量(为什么要用SonarQube):
(1),复杂度分布(复杂性)::代码复杂度过高将难以理解,难以维护
(2),重复代码(重复)::程序中包含大量复制粘贴的代码是质量低下的表现
(3),单元测试(单元测试)::统计并展示单元测试覆盖率
(4),编码规范(编码规则):通过Findbugs, PMD, CheckStyle等规范代码编写
(5),注释(评论)::少了可读性差,多了看起来费劲
(6),潜在的Bug(潜在的Bug):通过Findbugs, PMD, CheckStyle等检测潜在的错误
(7),结构与设计(架构,设计)::依赖,耦合等
声纳可以集成不同的测试工具,代码分析工具,持续集成工具,IDE。
声纳通过对代码质量分析结果数据进行再加工处理,通过量化的方式来度量
代码质量的变化,从而可以方便地对工程进行代码质量管理。
支持的语言包括:Java、PHP、c#、C、Cobol、PL/SQL, Flex等。
<强> 强>
(1)数据库:存放SonarQube的配置数据,代码质量的快照数据
(2) Web服务:用于查看SonarQube的配置数据,代码质量的快照数据
(3)分析器:对项目代码进行分析,生成质量结果数据并存入数据库中
(分析器有多种,我们选用SonarQube Maven插件)
IP: 192.168.1.253
环境:CentOS 6.6, JDK1.8, MySQL5.6, SonarQube6.3
准备工作:已安装JDK1.8并配置好了环境变量
1,安装装MySQL5.6
wget http://repo.mysql.com//mysql -社区-释放- el6 noarch.rpm——5. yum install  mysql-community-server service mysqld 开始 chkconfig ——list  | grep mysqld mysqld 0: off 1: off 2: off 3: off 4: off 5: off 6:从
用上面的命令查看到MySQL并没有设置开机启动,所以需要设置开机启动
chkconfig mysqld 在
创建声纳库和用户并授权
CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci; GRANT ALL  PRIVILEGES 提醒;声纳。*,用“声纳”@“localhost”, IDENTIFIED BY “sonar2017” FLUSH 特权;
3,安装sonarqube
cd /usr/地方/src wget https://sonarsource.bintray.com/Distribution/sonarqube/sonarqube-6.3.1.zip unzip sonarqube-6.3.1.zip mv sonarqube-6.3.1 /usr/地方/ln -sv /usr/地方/sonarqube-6.3.1 sonarqube ln -sv /usr/地方/sonarqube/bin/linux - x86 - 64/sonar.sh /etc/init。d/声纳
4,配置sonarqube
vim /usr/地方/sonarqube/conf/sonar.properties sonar.jdbc.username=声纳 sonar.jdbc.password=sonar2017 #——安康;MySQL 5.6或更大 sonar.jdbc.url=jdbc: mysql://localhost: 3306/声纳? useUnicode=true& characterEncoding=utf8& rewriteBatchedStatements=true& useConfigs=maxPerformance& useSSL=false sonar.web.host=0.0.0.0 sonar.web。端口=9090
5,为了方便远程管理,防火墙中打开3306,9090端口
vim /etc/sysconfig/iptables -A INPUT  -m state ——state NEW -m tcp -p tcp ——dport 3306年,-j 接受 -A INPUT  -m state ——state NEW -m tcp -p tcp ——dport 9090年,-j 接受
重启防火墙,使端口配置生效
service iptables 启动
6,启动SonarQube
/etc/摆在/sonar 开始
7日在浏览器输入
登录账号/密码默认:admin/admin
默认是英文的,中文需要安装插件(插件可以在线安装也可以在官网下载后放到插件目录)
安装配置完成。