ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

SonarQube代码检测环境搭建

2019-09-16 10:39:43  阅读:198  来源: 互联网

标签:java 项目 SonarQube 代码 检测 sonar 搭建


SonarQube(sonar)是一个开源平台,用于管理源代码的质量。 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检测单个任务规则的应用情况, 检测耦合。

 

安装过程

软件版本:jdk1.8 Linux Centos Mysql 7.6 SonarQube7.2.1

创建数据库:

CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;

修改配置文件 sonar.properties:

sonar.jdbc.url=jdbc:mysql://192.168.137.1:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false

 

sonar.jdbc.username=root

sonar.jdbc.password=root

sonar.sorceEncoding=UTF-8

创建用户:

useradd sonar

passwd sonar

赋予 sonar 用户权限

启动 ES

启动 sonarqube 初次启动稍微慢一点,因为要初始化数据库信息

启动成功:访问 http://ip:9000

默认账号密码:admin/admin

安装 SonarScanner 代码扫描器

配置环境变量:

# sonar scanner

export PATH=$PATH:/home/zhutong/tools/sonar-scanner/bin

在目标项目根目录下创建文件 sonar-project.properties

#projectKey是项目的唯一标识,不能出现重复,可随意起

sonar.projectKey=项目标识,随便起即可

# this is the name displayed in the SonarQube UI,不能是中文

sonar.projectName=你的项目名称

# 项目的版本号

sonar.projectVersion=0.5

# 项目的代码的编码格式

sonar.sourceEndcoding=UTF-8

# 项目的语言

sonar.language=java

# 项目的源代码目录

sonar.sources=src

# 项目的编译生成的class文件的所在目录

sonar.java.binaries=target/classes

进行代码检测,执行命令:sonar-scanner

==========

配置集成 jenkins

增加构建步骤,Excute SonarQube Scanner

选项 Analysis properties 增加配置:

#项目的唯一编号,不可重复,随便写

sonar.projectKey=analyseLaw

#项目名称

sonar.projectName=analyseLaw

#项目版本号

sonar.projectVersion=0.0.1-SNAPSHOT

# 项目的源代码目录

sonar.sources=.

#项目代码的编码格式

sonar.sourceEncoding=UTF-8

#项目的语言

sonar.language=java

# 项目的编译生成的class文件的所在目录

sonar.java.binaries=/home/zhutong/datas/analyseLaw/target/classes

sonar.login=admin

sonar.password=admin

标签:java,项目,SonarQube,代码,检测,sonar,搭建
来源: https://blog.csdn.net/cly125521/article/details/100879520

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有