Sonar Qube连续代码质量管理(三)sonar-scanner-3.3.0.1492在Windows环境下安装部署和代码检查使用
继续上篇内容,对sonar-scanner在Windows 10环境下安装部署操作步骤进行分解,安装过程相对较简单,并且作为sonar客户端通常都是安装在开发设备上,后期一般不会考虑在Linux上部署。
scanner目前是没有可视化界面,同时需要加入到path变量中加载,个人将其理解为jvm环境下运行的插件,它会根据sonarqube生成的命令直接在项目根目录下运行。
一、文件配置
进入到D:\DevelopSoft\Sonar\sonar-scanner-3.3.0.1492\conf文件目录下,选择NotePad++等编辑器打开配置文件sonar-scanner.properties,如下图。
打开配置文件后,发现新版的scanner文件注释内容较少,因此直接在下方加入Mysql节点配置情况。同sonarqube中的sonar.properties文件配置,如下图。
注意,如果SonarQube不是本地,要配置IP地址。sonar.host.url=http://192.168.8.188:9000
二、环境变量配置
打开本地系统环境变量进行配置,如下图。
【此电脑】–右键【属性】–【高级系统设置】–【环境变量】
直接配置系统变量中的Path,在Path中新增D:\DevelopSoft\Sonar\sonar-scanner-3.3.0.1492\bin路径并保存。
还有一种方式是先新增用户变量在添加环境变量,但是如果直接新增path可以不用考虑。
a.新建变量,name=SONAR_RUNNER_HOME。value=D:\DevelopSoft\Sonar\sonar-scanner-3.3.0.1492\c
b.打开path,输入%SONAR_RUNNER_HOME%\bin;
三、环境测试
打开命令提示符窗口(不用管理员身份),输入sonar-scanner -version,
如果配置成功出现版本信息,如下图。
四、SonarQube中创建项目
1.在SonarQube启动的web应用首页,选择【创建新项目】,如下图。
2.根据项目情况输入标识和名称,点击【设置】开始创建新项目,如下图。
3.在配置过程中,显示要创建令牌,这个令牌是在生成的命令中到项目根目录运行使用,如下图。
4.分析项目的设置,如果是选择Java有Maven和Gradle构建技术,这里我们选择其他(…),按照提示选择【Windows】操作系统,系统会自动生成运行命令,如下图。
// 命令sonar-scanner.bat -D"sonar.projectKey=NESPS" -D"sonar.sources=." -D"sonar.host.url=http://localhost:9000" -D"sonar.login=8116e8c258415faa02ac2931f1c726f4fb056eca"
如果直接在项目根目录下运行该命令会报错如下,其实是需要在根目录中编辑配置文件,便于系统加载class类文件。
Please provide compiled classes of your project with sonar.java.binaries property
五、项目根目录加载配置
官方已经从sonarQube 4.12开始,sonar针对Java将会进行程序的动态检查,不配置sonar.java.binaries属性将会出错。
官方文档API:https://docs.sonarqube.org/display/PLUG/SonarJava
由于我的项目根目录为D:\Project\NESPS,因此在命令提示符中输入命令
> C:\Users\HadesZ>d: #跳转到d盘
> D:\>cd /Project\NESPS
> D:\Project\NESPS>
在根目录下,新增sonar-project.properties配置文件并使用文本编辑器编辑,保存格式应为ANSI,配置内容如下。
sonar.projectKey=nesps #项目key
sonar.projectName=nesps #项目名称
sonar.projectVersion=1.0
sonar.sources=src #这里指的是项目存放java文件的位置,如果在根目录下则为src
#[重点]这里指的是项目class文件的位置,这里直接使用绝对路径,否则还是会出现错误提示
sonar.java.binaries=D:/Project/NESPS/WebRoot/WEB-INF/classes
sonar.language=java
sonar.sourceEncoding=UTF-8
保存配置文件后,重新在根目录下执行命令,正常情况下如下图。
在扫描文件的过程中如下图。
直到扫描完成后会出现如下提示。
INFO: SCM provider for this project is: svn
INFO: 101 files to be analyzed
INFO: 18/101 files analyzed
INFO: 65/101 files analyzed
INFO: 101/101 files analyzed
INFO: 1 file had no CPD blocks
INFO: Calculating CPD for 100 files
INFO: CPD calculation finished
INFO: Analysis report generated in 2209ms, dir size=3 MB
INFO: Analysis report compressed in 1503ms, zip size=1 MB
INFO: Analysis report uploaded in 762ms
INFO: ANALYSIS SUCCESSFUL, you can browse http://localhost:9000/dashboard?id=NESPS
INFO: Note that you will be able to access the updated dashboard once the server has processed the submitted analysis report
INFO: More about the report processing at http://localhost:9000/api/ce/task?id=AWk4AuE6KUARVpHP4eO7
INFO: Analysis total time: 2:06.654 s
INFO: ------------------------------------------------------------------------
INFO: EXECUTION SUCCESS
INFO: ------------------------------------------------------------------------
INFO: Total time: 2:11.930s
INFO: Final Memory: 29M/813M
INFO: ------------------------------------------------------------------------
如果此时进入web应用不一定能马上刷新得到扫描结果,如下图所示,等待3-5分钟后重新刷新页面即可。
六、查看和使用Sonar扫描
在页面点击【项目】等待加载完成后,可以看到项目情况,根据提示进入修改即可,如下图。
在页面点击【问题】可以查看到每一个Bugs和漏洞情况,如下图。
题外话
如果成功扫描,在本地C:\Users\HadesZ.sonar用户目录下会找到相关文件,但目前不知道这些文件的用途。
以上,就是Sonar Qube连续代码质量管理从部署到使用的全部过程。
下篇将讲述使用Eclipse加载sonarlist插件使用Sonar检查代码。
Sonar Qube连续代码质量管理(三)sonar-scanner-3.3.0.1492在Windows环境下安装部署和代码检查使用相关推荐
- Sonar Qube连续代码质量管理(二)Sonar Qube7.6在Windows环境下安装部署和服务启停
继续上篇内容,对Sonar Qube7.6在Windows 10环境下安装部署操作步骤进行分解,后期将会考虑在Linux上部署. 一.启动服务 进入到D:\DevelopSoft\Sonar\sona ...
- Windows环境下用cloc统计代码量
cloc一款开源代码统计工具,支持windows和Linux环境.能统计指定文件夹或文件夹中文件数files.空白行数blank.注释行数comment和代码行数code.今天介绍windows环境下 ...
- Sonar Qube连续代码质量管理(一)熟悉Sonar Qube7.6和Scanner-3.3.0.1492
前言 Sonar是一个管理代码质量的开放开源的平台,在我看来更多的把它理解成为一个对代码质量更好把控的工具.它可以快速的定位代码中潜在的或者明显的错误,可以从多个维度检测代码情况,提高项目源码的质量管 ...
- java 内存映射文件进程间通讯_[转]Windows环境下利用“共享内存”实现进程间通信的C/C++代码---利用CreateFileMapping和MapViewOfFile...
进程间的通信方式有很多种, 上次我们说了最傻瓜的"共享外存/文件"的方法. 那么, 在本文中, 我们即将学习"共享内存"的方式实现进程间的通信, 这是IPC最快 ...
- 痞子衡嵌入式:在IAR开发环境下将整个源文件代码重定向到任意RAM中的方法
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是在IAR开发环境下将整个源文件代码重定向到任意RAM中的方法. 痞子衡旧文 <在IAR下将关键函数重定向到RAM中执行的方法> ...
- 琢石成器――windows环境下32位汇编语言程序设计(第三版)笔记
琢石成器――windows环境下32位汇编语言程序设计(第三版)笔记 2011年12月20日 基础篇 第1章 背景知识 1 1.1 Win32的软硬件平台 1.1.1 80x86系列处理器简史 1.1 ...
- Windows环境下通过Git来管理自己的Android代码
前面已经介绍了在Windows下使用git工具来下载Android的源代码,Windows环境下通过Git得到Android源代码,这里记录我使用git工具来管理我自己的代码,git是一种分布式的项目 ...
- Redis批量删除Key的三种方式(linux和windows环境下都有)
Redis 中有删除单个 Key 的指令 del,网上资料大多数都说没有批量删除 Key 的指令,是否真这样有待再次确定,不过我们可以借助 Linux的 xargs 指令来完成这个动作,redis本身 ...
- VScode使用记录二:Windows 7下安装GCC、使用VSCode编译代码
目录 一.概述 二.安装 2.1 GCC编译器 2.2 安装VSCode 2.3 安装插件 三.编译文件 3.1 编译单个文件 3.2 编译多个文件 四.调试程序 一.概述 平时都是在keil下工作, ...
最新文章
- 单独使用 EHCache
- Git Gitlab 使用指南
- 博客转向 github pages
- 普通人的经验和技能交易平台
- tp5易支付完整版源码
- 质量故事(4)---割草的男孩
- python显示当前日期_python显示当前时间
- mongodb排序_MongoDB排序
- js学习笔记(新手向)
- python 灰度图像转彩色_彩色图像--伪彩处理 灰度图转伪彩色图像
- Visio2010正确的安装步骤
- SPSS教程:单因素重复测量方差分析,超详细图文教程
- 原创C#Winform桌面应用中实用又美观的开关控件源码分享
- 赵伯平--警惕台湾的企业管理垃圾!
- java写入html文件乱码,java写入到html文件 打开是乱码
- 消防工程师知识点:规范中关于高差10米的规定汇总(附带练习题)众智博睿
- JavaScript对象与内置对象——内置对象(二)
- XML和Schema命名空间详解---实例篇
- js判断字符串是不是一个纯数字
- redis安装(主从)
热门文章
- c语言之if...else之语句
- 一级计算机水平考试ppt,全国一级计算机等级考试.ppt
- 啊哈!算法—火柴棍等式
- Linux 驱动开发 | 驱动世界里的宏伟建筑
- signature=238addc09a2ed2eedaa03f702842ebad,適用於數位內容交易的安全浮水印協定
- 松下BQ-830充电器的改造
- CTA 敏感行为 索引表
- MySQL-关系型数据库
- python爬取有声小说_听说还有付费听书的朋友,用python带你爬取喜马拉雅有声小说...
- 两条平行线相交于一点