Sonar 配置及部署(windows系统)
Sonar 是一个用于代码质量管理的开放平台。通过插件机制,Sonar 可以集成不同的测试工具,代码分析工具,以及持续集成工具。
与持续集成工具(例如 Hudson/Jenkins 等)不同,Sonar 并不是简单地把不同的代码检查工具结果(例如 FindBugs,PMD 等)直接显示在 Web 页面上,而是通过不同的插件对这些结果进行再加工处理,通过量化的方式度量代码质量的变化,从而可以方便地对不同规模和种类的工程进行代码质量管理。
进入主题,安装Sonar:
前提条件:安装好Mysql、Jdk,本次采用的是Mysql5.7和Jdk1.8版本,关于mysql和jdk的配置不在赘述,记得启动mysql。(数据库安装)
数据库配置
mysql中需要创建对应的sonar账号,创建如下:
#新增用户,由于这个是变化的,建议导出数据库mysql表中的语句,将root的insert语句更新下进行插入操作。 insert into user(Host,User,authentication_string) values("%","sonar",("123456")); #用户授权-可以远程访问数据库 grant all privileges on *.* to sonar@"%" identified by "123456" ; #本地用户授权-可以访问本地的所有数据库 grant all privileges on *.* to sonar@localhost identified by "123456" ;#设置完成后,需要执行以下命令生效flush privileges ;
sonnar配置
Sonarqube(本次使用版本sonarqube-6.7.6)
下载地址:https://www.sonarqube.org/downloads/
Sonar-Scanner(针对不同的操作系统下载对应的版本)
下载地址:https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner
下载后,开始对配置文件进行修改,如下
A、Sonarqube,修改conf—>sonar.properties修改:
sonar.jdbc.username=sonar #连接数据库用户名 sonar.jdbc.password=123456 #连接数据库密码 sonar.jdbc.url=jdbc:mysql://10.10.126.234:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false #连接数据库地址及表名 sonar.web.host=10.10.126.234 #服务器/本机的ip sonar.web.port=9100 #服务器/本机的端口 sonar.ce.javaOpts=-Xmx512m -Xms128m -XX:+HeapDumpOnOutOfMemoryError #设置内存占用最大值
host、port就是sonar服务启动的url,服务启动后,可直接访问 http://10.10.126.234:9100。
启动sonarQube:Sonarqube,运行bin—>windows-x86-32—>StartSonar.bat:
访问Url链接,界面如下:(默认登录密码账号密码是admin admin)
B、Sonar-Scanner,修改conf—>sonar-scanner.properties修改:
sonar.host.url=http://10.10.126.234:9100 #----- Default SonarQube server sonar.sourceEncoding=UTF-8 #----- Default source code encoding sonar.jdbc.username=sonar #数据库用户名 sonar.jdbc.password=123456 #数据库密码 sonar.jdbc.url=jdbc:mysql://10.10.126.234:3306/sonar?useUnicode=true&characterEncoding=utf8 #----- MySQL
sonar-scanner需要配置环境变量,设置方式如下图:
查看配置是否正确,使用命令:
sonar-scanner --verson
进入需要执行审查的代码下,启动命令:
sonar-scanner -X
一段时间后,即可在sonarqube的链接下看到审查结果。
项目中调用sonar扫描配置如下:
在单个模块中的sonar-project.properties配置(这里以其中一个为例):
# projectKey项目的唯一标识,不能重复,projectName在sonar服务端显示的项目名称。 sonar.projectKey=20190322-test1 sonar.projectName=-test1 sonar.projectVersion=1.0 sonar.sourceEncoding=UTF- sonar.sources=src #当前文件中需要分析的源码文件名,一般是src sonar.java.binaries=target/classes #二进制文件所在位置(windows系统中,用“/”代替“\”) sonar.java.source=1.8 #标注使用的jdk的版本。
如在一个项目中有多个文件,可在最外层调用,对应sonar-project.properties配置如下(这里的模块中有4个不同的子模块):
#required metadata #projectKey项目的唯一标识,不能重复 sonar.projectKey=v1.2-test sonar.projectName=v1.2-test sonar.projectVersion=1.1 sonar.sourceEncoding=UTF-8 sonar.java.source=1.8 sonar.modules=moopo-server,moopo-manage,moopo-h5,moopo-collect # moopo-server moopo-server.sonar.projectName=20190322-test1 moopo-server.sonar.sources=moopo-server/src moopo-server.sonar.java.binaries=moopo-server/target/classes # moopo-collect moopo-collect.sonar.projectName=20190322-test2 moopo-collect.sonar.sources=moopo-collect/src moopo-collect.sonar.java.binaries=moopo-collect/target/classes # moopo-manage moopo-manage.sonar.projectName=20190322-test3 moopo-manage.sonar.sources=moopo-manage/src moopo-manage.sonar.java.binaries=moopo-manage/bin # moopo-h5 moopo-h5.sonar.projectName=20190322-test4 moopo-h5.sonar.sources=moopo-h5/src moopo-h5.sonar.java.binaries=moopo-h5/bin
执行结果:
异常解决:
1、sonarqube插件异常(需要更新或替换或增加),将提示的插件下载后,放到sonarqube—>extensions—>downloads中,重新运行sonarqube,该插件会自动加载到plugins文件中。
2、部分异常时,尝试将SCM的状态重置下,如下图:
更多参考网址:
https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner+for+Jenkins
http://www.cnblogs.com/dengshihuang/p/8066914.html
https://kefeng.wang/2017/01/10/jenkins-sonar/
https://my.oschina.net/u/237688/blog/1588495
https://www.jianshu.com/p/3b1c7eb17cdc
其他(maven项目中改配置及举例):https://github.com/limiaogithub/test_case_sonar_jacoco
Sonar 配置及部署(windows系统)的更多相关文章
- hadoop集群配置和在windows系统上运用java操作hdfs
安装 配置 概念 hadoop常用shell命令 使用java操作hadoop 本文介绍hadoop集群配置和在windows系统上运用java操作hdfs 安装 http://mirror.bit. ...
- Sonar 配置及部署(Linux系统)
之前在windows系统上部署了sonar代码审查,由于工作需要,需要在Linux环境再部署一套. 其实,部署的大体都是大同小异的,这里罗列下各个配置,与windows部署不同的地方会重点说一下. 数 ...
- ASP .NET CORE MVC 部署Windows 系统上 IIS具体步骤---.Net Core 部署到 IIS位系统中的步骤
一.IIS 配置 启用 Web 服务器 (IIS) 角色并建立角色服务. 1.Windows Ddesktop 桌面操作系统(win7及更高版本) 导航到“控制面板” > “程序” > “ ...
- mongodb基础环境部署(windows系统下)
Normal 0 false 7.8 磅 0 2 false false false EN-US ZH-CN X-NONE /* Style Definitions */ table.MsoNorma ...
- Tomcat安装、配置和部署笔记
首先从Apache的官方网站(http://tomcat.apache.org/)下载Tomcat.有安装版和解压版两种,我个人喜欢用解压版. Tomcat安装(绿色版安装) 1.将下载的Tomcat ...
- Tomcat安装、配置和部署
首先从Apache的官方网站(http://tomcat.apache.org/)下载Tomcat.有安装版和解压版两种,本文档介绍绿色版安装方法. 一.Tomcat安装(绿色版安装) 1.将下载的T ...
- Linode KVM安装Windows系统的设置方法
以前我们用老的Linode VPS主机的时候是采用的XEN架构的,如今我们新注册账户,以及新开的机器是KVM架构.根据后台的设置,我们看到好多网友有在LINODE中安装WINDOWS系统,理论上是可以 ...
- Node.js的安装与使用-Windows系统
首先到官网下载node.js http://nodejs.cn 下载完成后一直下一步Next即可安装完成,路径可以自己设置 然后配置环境变量,将node安装的目录配置到Path中 例如: cmd打开命 ...
- windows系统dokuwiki安装部署设置 xampp环境配置
简单记录一次安装dokuwiki的过程 dokuwiki下载 dokuwiki下载地址 https://download.dokuwiki.org/ 下载前有一些可选项目,版本.语言.插件,可以按照需 ...
随机推荐
- 《图解HTTP》读书笔记(一:网络基础TCP/IP)
好书什么时候开始读都不晚.作为一个测试人员,是一定要掌握一些网络的基础知识的.希望能够边读书边在这里记录笔记,便于加深理解以及日后查阅. 一.TCP/IP协议族 计算机与网络设备要互相通信,双方必须基 ...
- 解决Warning: unlink(/storage/cache/cache.catalog.language.1556158719): No such file or directory in /system/library/cache/file.php on line 68问题
ytkah在调试opencart项目时提示Warning: unlink(/storage/cache/cache.catalog.language.1556158719): No such file ...
- HibernateValidators
public final class HibernateValidators { private static final Validator VALIDATOR; private Hibernate ...
- 486A
#include <stdio.h> int main() { long long ans; long long n; scanf("%I64d", &n); ...
- JMeter-正则表达式(HTML)
2019-04-26问题:需要取出交易成功,但是有黄色部分 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN& ...
- windows环境在本地配nginx
本地搭建了前端项目,但奈何有时候需要https访问的需求,所以做了一个尝试在本地(windows环境)下配置nginx,最终的效果就是 搭建的时候,遇到两个问题: 第一个是如果要在本地搭建https, ...
- 2018-2019-2 网络对抗技术 20165321 Exp4 恶意代码分析
1.实践目标 1.1是监控你自己系统的运行状态,看有没有可疑的程序在运行. 1.2是分析一个恶意软件,就分析Exp2或Exp3中生成后门软件:分析工具尽量使用原生指令或sysinternals,sys ...
- 使用python写的一个代码统计程序
# encoding="utf-8" """ 统计代码行数 """ import sys import os def c ...
- 使用PL/SQL能查询oracle中数据,在for update 语句中一直卡住
原因:在oracle中,执行了update或者insert语句后,都会要求commit,如果不commit却强制关闭连接,oracle就会将这条提交的记录锁住.下次就不能执行增删操作. 解决:1.查询 ...
- 第一次安装myeclipse+tomcat经验
在网上找了很多资料,这里记录一下验证有用的资料,避免以后走弯路 1.安装myeclipse 参考如下URL,亲测有用 https://blog.csdn.net/qingjianduoyun/arti ...