sonarqube+jenkins+svn+maven代码质量检查

1、文章介绍

本文目的在于演示sonarqube+jenkins+svn+maven是如何集成工作的,最后通过一个java项目和一个python项目展示代码质量检测过程。

1.1 sonarqube

Sonar (SonarQube)是一个开源平台,用于管理源代码的质量。 Sonar 不只是一个质量数据报告工具,更是代码质量管理平台。 支持java, C#, C/C++, PL/SQL, Cobol, JavaScrip, Groovy 等等二十几种编程语言的代码质量管理与检测。 Sonar可以从以下七个维度检测代码质量,而作为开发人员至少需要处理前5种代码质量问题。

  1. 不遵循代码标准 sonar可以通过PMD,CheckStyle,Findbugs等等代码规则检测工具规范代码编写。
  2. 潜在的缺陷 sonar可以通过PMD,CheckStyle,Findbugs等等代码规则检测工具检 测出潜在的缺陷。
  3. 糟糕的复杂度分布 文件、类、方法等,如果复杂度过高将难以改变,这会使得开发人员 难以理解它们, 且如果没有自动化的单元测试,对于程序中的任何组件的改变都将可能导致需要全面的回归测试。
  4. 重复 显然程序中包含大量复制粘贴的代码是质量低下的,sonar可以展示 源码中重复严重的地方。
  5. 注释不足或者过多 没有注释将使代码可读性变差,特别是当不可避免地出现人员变动 时,程序的可读性将大幅下降 而过多的注释又会使得开发人员将精力过多地花费在阅读注释上,亦违背初衷。
  6. 缺乏单元测试 sonar可以很方便地统计并展示单元测试覆盖率。
  7. 糟糕的设计 通过sonar可以找出循环,展示包与包、类与类之间的相互依赖关系,可以检测自定义的架构规则 通过sonar可以管理第三方的jar包,可以利用LCOM4检测单个任务规则的应用情况, 检测耦合。

1.2 jenkins

    一款CI/CD工具

1.3 SVN

    代码版本管理

1.4 maven

    Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。

 

2、实验环境

本实验环境主要在一台vmware虚拟机中进行,虚拟机ip:192.168.110.51

   

192.168.110.51(centos7)

192.168.110.1(windows7)

安装软件 1

Jenkins-2.150

(https://jenkins.io/download/)

TortoiseSVN-x64-1.10.0

2

Sonarqube-7.6

(https://www.sonarqube.org/)

 
3

Sonar-runner-2.4

(http://repo1.maven.org/maven2/org/codehaus/sonar/runner/sonar-runner-dist/2.4/sonar-runner-dist-2.4.zip)

 
4

subversion -1.7.14

(yum安装)

 
5

Maven-3.6.0

(http://maven.apache.org/)

 
6

Jdk1.8

(https://www.oracle.com/technetwork/java/javase/downloads/index.html)

 
7

Mysql5.6

(https://www.mysql.com/)

 

 

3、环境搭建

除非特别说明,以下所有操作均在虚拟机192.168.110.51上执行

3.1 svn服务端安装

使用普通用户apps安装

1)查询是否安装svn

[apps@localhost ~]# rpm -qa|grep -i subversion
[apps@localhost ~]#

2)yum安装

[apps@localhost ~]# sudo yum install subversion

3)新建文件夹用于存放svn仓库

[apps@localhost ~]# sudo mkdir -p /apps/svr/svn
[apps@localhost ~]# sudo chown -R apps:apps /apps

4)创建一个版本库

[apps@localhost ~]# svnadmin create /apps/svr/svn/project1
[apps@localhost ~]#

5)修改配置文件

[apps@localhost ~]# cd /apps/svr/svn/project1/conf/
[a
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值