前言
随便写写,大家也就随便看看,2020年,争取拿个乒乓球小区冠军。
1 概述
SonarQube是一个开源平台,用于管理源代码得质量。SonarQube不只是一个质量数据报告工具,更是代码质量管理平台。 支持java, C#, C/C++, PL/SQL, Cobol, JavaScrip, Groovy 等等二十几种编程语言的代码质量管理与检测。 SonarQube可以从以下七个维度检测代码质量,而作为开发人员至少需要处理前5种代码质量问题。
(1) 不遵循代码标准
SonarQube可以通过PMD,CheckStyle,Findbugs等等代码规则检测工具规范代码编写。
(2) 潜在的缺陷
SonarQube可以通过PMD,CheckStyle,Findbugs等等代码规则检测工具检 测出潜在的缺陷。
(3) 糟糕的复杂度分布
文件、类、方法等,如果复杂度过高将难以改变,这会使得开发人员 难以理解它们, 且如果没有自动化的单元测试,对于程序中的任何组件的改变都将可能导致需要全面的回归测试。
(4) 重复
显然程序中包含大量复制粘贴的代码是质量低下的,SonarQube可以展示 源码中重复严重的地方。
(5) 注释不足或者过多
没有注释将使代码可读性变差,特别是当不可避免地出现人员变动时,程序的可读性将大幅下降 而过多的注释又会使得开发人员将精力过多地花费在阅读注释上,亦违背初衷。
(6) 缺乏单元测试
SonarQube可以很方便地统计并展示单元测试覆盖率。
(7) 糟糕的设计
通过SonarQube可以找出循环,展示包与包、类与类之间的相互依赖关系,可以检测自定义的架构规则 通过SonarQube可以管理第三方的jar包,可以利用LCOM4检测单个任务规则的应用情况, 检测耦合。
2 基础环境准备
本文主要讲述如何在windows系统搭建sonarQube及Jenkins自动构建,所有的环境请按照笔者的要求搭建,以便大家可以成功搭建。
(1)Java环境1.8
(2)Maven环境
(3)mysql5.6—8.0,该版本之外的Mysql会报异常
(4)node.js
(5)SonarQube7.6
(6)Sonar-Scanner/Runner
(7)SVN代码管理仓库
(8)Jenkins平台
(9)navicat可视化数据库工具
(10)Jenkins Plugins笔者已经下载好了,主要是因为防止很多人插件下载失败,所有的安装文件都放在了网盘中,可自取
2.1 Java环境安装
双击安装JDK,细节这里就不说了,大家不会的可以百度一下,安装完JDK之后需要配置一下环境变量
2.2 Maven安装
同样将maven的安装包解压到任意一个磁盘中,同样我们还是要配置一下Maven的环境变量
2.3 Mysql安装
安装mysql之前肯定有很多人会问我,为什么要说这些基础的东西,要知道,还是有很多帅气的娃因为一些基础得环境或者版本问题搞得
脑壳都要挠秃咯!
1. 将文件解压入到自定义的目录下【mysql如果安装不对得话,可以百度下对应版本得安装方式】
2. 配置my.ini,在根目录下创建文件my.ini,并在文件中输入以下代码
[mysqld]
basedir ="C:\mysql-6.3-winx64" --此处配置自己得mysql路径名
datadir ="C:\mysql-6.3-winx64\data" --此处配置自己得mysql路径名
port=3306
server_id =10
character-set-server=utf8
[client]
port=3306
default-character-set=utf8
[mysqld_safe]
timezone="CST"
[mysql]
default-character-set=utf8
3. 配置环境变量, 将mysql/bin加入到PATH中
4. 找到cmd.exe,以管理员身份运行(确保是管理员)
5. 首先将MySQL加入到Windows的服务中,输入命令:
mysqld --install
有时候没有卸载干净,会提示The service already exists!
此时,以管理员身份运行cmd,
-输入命令sc query mysql 查看名为mysql的服务
-输入命令sc delete mysql,删除该mysql
-再执行mysqld --install 就能成功了
6. 开始初始化数据库,输入:
-mysqld --initialize --console
-mysqld --initialize --user=root --console (记住初使密码)
7. 输入:net start mysql,稍后你也可以用net stop mysql关闭MySQL服务。
8. 然后就可以进入MySQL了,输入:mysql -u root -p,此时会要求你输入密码
9. alter user user() identified by "123456"; 改初使秘密
10. show databases ;展示数据库列表;
11. use mysql 使用数据库
12. show tables; 展示 表名
此处容易遇到两个问题:
1.系统得C+