代码检查工具sonarqube介绍及使用
亲测有效
环境:springboot+gradle+jdk1.8+sonarqube7.4
一、说明:
SonarQube为静态代码检查工具,采用B/S架构,帮助检查代码缺陷,改善代码质量,提高开发速度,通过插件形式,可以支持Java、C、C++、JavaScripe等等二十几种编程语言的代码质量管理与检测。
通过客户端插件分析源代码,sonar客户端可以采用IDE插件、Sonar-Scanner插件、Ant插件和Maven插件方式等,官网是这么列举的很方便集成:
- Gradle - 用于Gradle的SonarScanner
- MSBuild - 用于MSBuild的SonarScanner
- Maven - 使用SonarScanner for Maven
- Jenkins - Jenkins的SonarScanner
- Azure DevOps - Azure DevOps的SonarQube扩展
- Ant - 用于Ant的SonarScanner
- 其他任何东西(CLI) - SonarScanner
每一种都有自己的分析机制对项目源代码进行分析和扫描,并把分析扫描后的结果上传到sonar的数据库,通过sonar web界面对分析结果进行查看管理
架构图
下载sonarqube包:https://www.sonarqube.org/。现在下载使用的是7.4。下载后是zip格式,linux下和windows下都是这个包,解压即可。
下载sonarqube中文包:地址:https://github.com/SonarQubeCommunity/sonar-l10n-zh/releases,根据对应的版本,下载对应的sonar-l10n-zh-plugin-***.jar包,下载下来后,把jar放到sonarqube-7.4/extensions/plugins目录下,
二、配置
配置文件为/conf/sonar.properties。可以设置使用的数据库和提供的ip和端口。使用postgresql数据库需要注意不能指定模式名称,必须使用默认的default。如果不使用需要按照文档做更多配置来支持。现在配置如下即可
sonar.jdbc.url=jdbc:postgresql://192.169.31.106:5432/sonar
sonar.jdbc.username=postgres
sonar.jdbc.password=123456
sonar.web.host=192.169.31.107
sonar.web.port=9000
数据库可以不进行配置,若不配置则使用自带数据库,不支持数据迁移。Ip为部署机器的ip
三、启动
Windows下:在sonarqube-7.4/bin目录下,根据对应的系统版本,选择对应的文件夹,我的是windows 64位,故选择windows-x86-64目录,打开文件StartSonar.bat ,
Linux下:
1、 创建新用户:adduser sonarUser
2、 改变权限:、chown -R sonarUser:sonarUser /usr/local/sonarqube-7.4/
3、 切换至普通用户下,进入bin/linux64启动下:./sonar.sh console 日志启动模式;./sonar.sh start 后台启动模式;第一次启动可以使用日志模式查看下是否能成功启动,若没有问题,停掉后再切换为后台启动
4、 如果启动出错可以查看下/sonarqube-7.4/temp/conf/es的权限是改变了,如果没有改变则重新执行chown -R sonarUser:sonarUser /usr/local/sonarqube-7.4/对应目录
四、gradle集成:
Build.gradle中配置:
plugins {
id "org.sonarqube" version "2.6.2"
}
buildscript{
repositories{
maven{
url"https://plugins.gradle.org/m2/"
}
}
dependencies{
classpath"org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.6.2"
}
}
apply plugin:"org.sonarqube"
在build.gradle平级目录新建gradle.properties配置文件。内容为systemProp.sonar.host.url=http://172.16.31.107:9000。次配置是为了将扫描代码结果传送给sonar服务。
在gradle命令行输入:gradle sonarqube即可进行扫描。
五、打开浏览器输入192.169.31.107:9000访问扫描结果。
代码检查工具sonarqube介绍及使用的更多相关文章
- 代码检查工具sonarqube介绍
SonarQube 是一款用于代码质量管理的开源工具,它主要用于管理源代码的质量.通过插件形式,可以支持众多计算机语言. 比如 java, C#, go,C/C++, PL/SQL,Cobol,Jav ...
- Android 代码检查工具SonarQube
http://blog.csdn.net/rain_butterfly/article/details/42170601 代码检查工具能帮我们检查一些隐藏的bug,代码检查工具中sonar是比较好的一 ...
- [原创]Java静态代码检查工具介绍
[原创]Java静态代码检查工具介绍 一 什么是静态代码检查? 静态代码分析是指无需运行被测代码,仅通过分析或检查源程序的语法.结构.过程.接口等来检查程序的正确性,找出代码隐藏的错误和缺陷,如参数 ...
- 代码检查工具jshint和csslint
前面的话 Douglas Crockford大神根据自己的理念用JavaScript写了一个JavaScript代码规范检查工具,这就是JSLint.后来非常流行,也的确帮助了广大的JavaScrip ...
- CSS代码检查工具stylelint
前面的话 CSS不能算是严格意义的编程语言,但是在前端体系中却不能小觑. CSS 是以描述为主的样式表,如果描述得混乱.没有规则,对于其他开发者一定是一个定时炸弹,特别是有强迫症的人群.CSS 看似简 ...
- Python静态代码检查工具Flake8
简介 Flake8 是由Python官方发布的一款辅助检测Python代码是否规范的工具,相对于目前热度比较高的Pylint来说,Flake8检查规则灵活,支持集成额外插件,扩展性强.Flake8是对 ...
- 《Android Studio实用指南》7.1 AndroidStudio代码检查工具概述
本文节选自<Android Studio实用指南> 作者: 毕小朋 目前本书已上传到百度阅读, 在百度中搜索[Anroid Studio实用指南]便可以找到本书. Android Stud ...
- 《Android Studio有用指南》7.1 AndroidStudio代码检查工具概述
本文节选自<Android Studio有用指南> 作者: 毕小朋 博客: http://blog.csdn.net/wirelessqa 眼下本书已上传到百度阅读, 在百度中搜索[Anr ...
- PC-lint 简明教程(C/C++静态代码检查工具)
前言 PC-lint是一款小而强大的C/C++静态代码检查工具,它可以检查未初始化变量,数组越界,空指针等编译器很难发现的潜在错误.在很多专业的软件公司如Microsoft,PC-Lint检查无错误无 ...
随机推荐
- poj 1274 基础二分最大匹配
#include<stdio.h> #include<string.h> #define N 300 #define inf 0x3fffffff int mark[N],li ...
- [bzoj1070][SCOI2007]修车_费用流
修车 bzoj-1070 SCOI-2007 题目大意:有m个人要修n台车,每个工人修不同的车的时间不同,问将所有的车都修完,最少需要花费的时间. 注释:$2\le m\le 9$,$1\le n \ ...
- android 集成支付宝app支付(原生态)-包括android前端与java后台
本文讲解了 android开发的原生态app集成了支付宝支付, 还提供了java后台服务器处理支付宝支付的加密代码, app前端与java后台服务器使用json数据格式交互信息,java后台服务主要用 ...
- 【JS】垃圾回收和块级作用域
垃圾回收: JavaScript中,开发者不必关心内存分配和回收的问题.这和Java语言相似.有一个垃圾自己主动回收机制.那么JavaScript内部到底是如何回收垃圾的呢? 使用标记回收法:就是说. ...
- javascript推断浏览器类型
<script> window["MzBrowser"]={};(function() { if(MzBrowser.platform) return; var ua ...
- MySQL优化之——为用户开通mysql权限
转载请注明出处:http://blog.csdn.net/l1028386804/article/details/46627263 为用户开通mysql权限: grant all privileges ...
- FZU 1851 组合数
给你两个数n和m,然后让你求组合数C(n,m)中的质因子的个数. 这里用到的一个定理:判断阶乘n!中的质因子 i 的个数的方法---f(n!)=n/i+n/i^2+n/i^3+.....n/i^m ( ...
- org.openqa.selenium.NoSuchElementException:
http://www.blogjava.net/qileilove/archive/2014/12/11/421309.html selenium webdriver定位不到元素的五种原因及解决办法 ...
- Codeforces Round 313(div1)
A题: 题目大意: 给出内角全为120度的六边形的六条边的边长,求由多少边长为1的等边三角形构成. 解题思路: 将六边形补全为一个大的等边三角形,则大的等边三角形的边长为六边形的相邻三边之和,接着减去 ...
- java中String的21种使用方法
(构造函数必须new出来) * public String (char[] vaue) 将一个字符数组变成字符串(构造函数) * public Stri ...