Sonar6.0应用之二:Sonar Web界面配置及与Runner、Scanner集成进行命令行代码分析

一、安装好了SonarQube服务端后,在其它电脑的浏览器上登陆,开始安装其它编程语言检测插件

系统已经装好的语言插件:

下载了软件项目中常用的语言:Android、CSS、Web、XML

JAVA相关的:Checkstyle、Findbugs、PMD


Java 静态分析工具分析对象


应用技术


Checkstyle


Java 源文件,缺陷模式匹配


FindBugs


字节码,缺陷模式匹配;数据流分析


PMD


Java 源代码,缺陷模式匹配

下载完分析语言规则后,重启服务

二、安装命令行分析端

sonar的命令行分析端软件有两种分别是Runner和Scanner,官网文档中写的是Scanner,但Runner和它安装、使用都基本一致。

1、在CentOS上安装sonar-runner-dist-2.4

cd /usr/local/src/

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

unzip sonar-runner-dist-2.4.zip

mv sonar-runner-2.4/ /usr/local/

  • 配置PATH路径

vim /etc/profile

在文件最后加入如下内容,保存并退出。

PATH=$PATH:/usr/local/sonar-runner-2.4/bin  
export PATH

  • 配置sonar-runner启动配置文件

vim /usr/local/sonar-runner-2.4/conf/sonar-runner.properties

把下面内容前#号去掉或增加后,保存并退出

sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8  
sonar.jdbc.username=sonar  
sonar.jdbc.password=sonar  
sonar.host.url=http://192.168.1.190    
sonar.login=admin  
sonar.password=admin

  • 安装成功后重启服务器,在命令行运行以上命令并回显,表示运行成功。

[[email protected] local]# sonar-runner -h  
INFO:    
INFO: usage: sonar-runner [options]    
INFO:    
INFO: Options:    
INFO:  -D,--define <arg>     Define property    
INFO:  -e,--errors           Produce execution error messages    
INFO:  -h,--help             Display help information    
INFO:  -v,--version          Display version information    
INFO:  -X,--debug            Produce execution debug output

2、在CentOS上安装sonar-scanner2.8

cd /usr/local/src/

wget https://sonarsource.bintray.com/Distribution/sonar-scanner-cli/sonar-scanner-2.8.zip

unzip sonar-scanner-2.8.zip

mv sonar-scanner-2.8/ /usr/local/

  • 配置PATH路径

vim /etc/profile

在文件最后加入如下内容,保存并退出。

PATH=$PATH:/usr/local/sonar-runner-2.4/bin:/usr/local/sonar-scanner-2.8/bin  
export PATH

  • 配置sonar-scanner启动配置文件

vim /usr/local/sonar-scanner-2.8/conf/sonar-scanner.properties

把下面内容前#号去掉或增加后,保存并退出

sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&amp;characterEncoding=utf8  
sonar.jdbc.username=sonar  
sonar.jdbc.password=sonar  
sonar.host.url=http://192.168.1.190    
sonar.login=admin  
sonar.password=admin

  • 安装成功后重启服务器,在命令行运行以上命令并回显,表示运行成功。

[[email protected] local]# sonar-scanner -h  
INFO:    
INFO: usage: sonar-scanner [options]    
INFO:    
INFO: Options:    
INFO:  -D,--define <arg>     Define property    
INFO:  -h,--help             Display help information    
INFO:  -v,--version          Display version information    
INFO:  -X,--debug            Produce execution debug output    
INFO:  -i,--interactive      Run interactively

三、把开发程序的源代码打包成zip文件上传到安装有Runner或Scanner的服务器上

解压上传的源代码:

cd /usr/local/

unzip whale.zip

四、使用sonar-scanner进行代码质量分析

1、在服务器上建立一个准备用Scanner执行的配置文件

cd whale/

vim sonar-project.properties

2、建立文件内容如下:

# must be unique in a given SonarQube instance  
sonar.projectKey=whale:scanner        
# this is the name and version displayed in the SonarQube UI. Was mandatory prior to SonarQube 6.1.    
sonar.projectName=whale-scanner    
sonar.projectVersion=1.0

# Path is relative to the sonar-project.properties file. Replace "\" by "/" on Windows.  
# Since SonarQube 4.2, this property is optional if sonar.modules is set.    
# If not set, SonarQube starts looking for source code from the directory containing    
# the sonar-project.properties file.    
sonar.sources=.

# Encoding of the source code. Default is default system encoding  
#sonar.sourceEncoding=UTF-8

3、保存并退出后运行命令进行分析(分析中不能执行Findbugs3.4.3分析,在web端卸载这个规则后可以正常分析):

sonar-scanner

4、在web中查看Scanner代码质量分析的结果。

五、使用sonar-Runner进行代码质量分析

1、修改下Scanner执行时的配置文件

cd /usr/local/whale/

vim sonar-project.properties

2、修改文件内容如下:

# must be unique in a given SonarQube instance  
sonar.projectKey=whale:runner    
# this is the name and version displayed in the SonarQube UI. Was mandatory prior to SonarQube 6.1.    
sonar.projectName=whale-runner    
sonar.projectVersion=1.0

# Path is relative to the sonar-project.properties file. Replace "\" by "/" on Windows.  
# Since SonarQube 4.2, this property is optional if sonar.modules is set.    
# If not set, SonarQube starts looking for source code from the directory containing    
# the sonar-project.properties file.    
sonar.sources=.

# Encoding of the source code. Default is default system encoding  
#sonar.sourceEncoding=UTF-8

3、保存并退出后运行命令进行分析(分析中不能执行Findbugs3.4.3分析,在web端卸载这个规则后可以正常分析):

sonar-runner

4、在web中查看runner代码质量分析的结果。

结果一样,证明Runner和Scanner功能差不多。

时间: 2024-11-04 22:06:28

Sonar6.0应用之二:Sonar Web界面配置及与Runner、Scanner集成进行命令行代码分析的相关文章

160329(二)、web.xml配置详解

1.启动一个WEB项目的时候,WEB容器会去读取它的配置文件web.xml,读取<listener>和<context-param>两个结点. 2.紧急着,容创建一个ServletContext(servlet上下文),这个web项目的所有部分都将共享这个上下文. 3.容器将<context-param>转换为键值对,并交给servletContext. 4.容器创建<listener>中的类实例,创建监听器. 二  Load-on-startup Load

化为防火墙如何在web界面配置

华为防火墙的配置: 操作步骤: 先如图所示准备好所需配置 1.配置ipClient3ip:192.168.1.1子网掩码:255.255.255.0网关:192.168.1.254Server3ip:100.0.0.1子网掩码:255.255.255.0网关:100.0.0.2542.在云上(Cloud2)添加端口(不添加端口没法连线)3.连接线路4.进入防火墙FW3设置一个8~16位的密码5.查看配置文件中防火墙的ipdisplay current-configuration6.然后在物理机上

(二)NS3如何编译、运行脚本和 Command Line命令行参数设置

二.编译.运行脚本和Command Line命令行参数设置 7. 编译和运行脚本主要步骤 1) 将编写的脚本复制到ns-3.22/scratch目录下(可以在ubuntu窗口界面直接复制) 进入ns3目录: /ns-3.22 $ cp examples/tutorial/first.cc  scratch/myfirst.cc将脚本复制到scratch目录下 2) 构建(编译) $ ./waf 3) 运行 $ ./waf --run scratch/myfirst (可能会有运行权限问题,可在r

OpenCV2+入门系列(二):图像的打开、创建与显示(命令行)

前置知识:数字图像的简略知识 这里只是最基础的知识,上课如果稍微听了课的同学可以直接略过不不看. 彩色图像: 对于一副数字图像,对于一副RGB色彩空间的彩色数字图像,它一共有宽X高个像素格子,每个格子的色彩由蓝色.绿色.红色三个原色合成,很简单吧,三原色的合成大家小学就学过喽.计算机中B.G.R三个值可以从0至255选择,不同的值的组合就可以合成出不同的色彩,一般来说总共可以组成255*255*255种色彩. 灰度图像: 而若是图像中所有像素都是由黑到白(0到255)的亮度表示,那么这幅图像将是

一个较丰满的servlet web server,包含conector、Processor、bootstrap (2代码分析)

代码分析: 类关系: BootStrap主程序负责服务器的启动,控制HttpConnector组件: HttpConnector类负责Http链接和线程管理,控制HttpProcessor组件: HttpProcessor类负责Http协议的解析和res/req的创建,同包下的其他类是为解析req解耦出来的相关类,为获取响应writer的相关类:request对象属性在本应用中的到 近乎完全的解析,response好像只可以用writer由程序员自行设置响应头?书上没做说明,自己看代码也无法从静

CSS3实战开发: 弹性盒模型之响应式WEB界面设计

各位网友大家好,如果你已经阅读过我先前写的关于CSS3弹性盒模型的实例演示,相信你对CSS3弹性盒模型属性知识点应该已经有了一个非常深刻的映像. 从本篇文章开始,我将带领大家,手把手地教大家如何来开发一个适合移动端浏览器的弹性盒模型的响应式页面.同时实战开发中的案例代码可以作为你项目中的精简框架了. 当你学习完成<CSS3实战开发: 弹性盒模型之响应式WEB界面设计>这个系列教程之后,相信你对目前比较流行的前端轻量级框架 Bootstrap等会有一个深刻的认识. Bootstrap(弹性流体布

安装zabbix的web界面最后一步提示无法创建配置文件

web界面配置zabbix最后一步提示不能创建zabbix.conf.php文件,那么可以给予zabbix目录下的conf目录写权限,并且,zabbix这个目录的属组也要是web运行的用户和组.在里面修改zabbix.conf.php.example这个文件.改成符合自己的配置条件即可,如下所示 <?php // Zabbix GUI configuration file global $DB; $DB["TYPE"] = 'MYSQL';     //数据库的类型 $DB[&q

二、struts.xml配置及例程

1.配置文件的优先级 在struts2中一些配置(比如常量)可以同时在struts-default.xml(只读性),strtus-plguin.xml(只读性),struts.xml,struts.properties和web.xml文件中配置,它们的优先级逐步升高,即是说后面的配置会覆盖掉前面相同的配置. 2.配置形式 下面以对struts.i18n.encoding=UTF-8的配置为例进行说明: 在struts.xml配置形式如下: <constant name="struts.i

Maven pom.xml 全配置(二)不常用配置

Maven pom.xml 全配置(二)不常用配置 这里贴出Maven pom.xml文件中使用率较少的配置参数,如果此篇文档中没有找到你想要的参数,移步Maven pom.xml 全配置(一)常用配置 <!-- 项目创建年份,4位数字.当产生版权信息时需要使用这个值. --> <inceptionYear /> <!-- 描述了这个项目构建环境中的前提条件. --> <prerequisites> <!-- 构建该项目或使用该插件所需要的Maven的