Windows环境配置SonarQube结合Sonar Scanner进行代码分析

yuanyuan 2019-06-26

本文简述在Windows环境下安装配置SonarQube工具,以及配置Sonar Scanner进行代码分析。

关于SonarQube的作用这里不多赘述,请自行百度。

配置SonarQube环境要求

  1. JDK: 版本最好在1.6及以上,不建议使用太低的版本
  2. 数据库: 目前主流的数据库SonarQube基本都支持,这里用MySQL来进行配置,版本5.6及以上

SonarQube下载与安装

下载

SonarQube官网下载链接:https://www.sonarqube.org/dow...

版本可自行决定,一般用较为稳定的版本

本文用的版本是SonarQube 6.7.1 (LTS *) 于2017年12月21日更新的版本

Windows环境配置SonarQube结合Sonar Scanner进行代码分析

安装

将下载的压缩包解压至相应目录下,我这里放在了D盘

Windows环境配置SonarQube结合Sonar Scanner进行代码分析

可以看到D盘SonarQube下文件列表

运行

由上面解压后得到的文件夹可以看到bin为运行文件夹,conf为配置文件夹

这里我的系统是Windows64位,所以找到如下图中对应系统文件夹进入点击StartSonar.bat运行启动SonarQube
(linux和mac是对应系统文件夹下sonar.sh为启动文件)

如图看到SonarQube is up则启动成功

Windows环境配置SonarQube结合Sonar Scanner进行代码分析

Windows环境配置SonarQube结合Sonar Scanner进行代码分析

Windows环境配置SonarQube结合Sonar Scanner进行代码分析

如图,SonarQube默认9000端口,浏览器访问http://localhost:9000或http://127.0.0.1:9000即可看到运行页面

Windows环境配置SonarQube结合Sonar Scanner进行代码分析

配置

数据库

这里使用的是MySQL,版本5.6

  • 创建数据库

MySQL创建数据库这里不多做说明,这里创建的数据库名称为sonar

  • 配置数据库

刚才介绍过解压后的conf为配置文件夹,进入可看到sonar.properties

Windows环境配置SonarQube结合Sonar Scanner进行代码分析

编辑该文件,找到MySQL 5.X 位置,将#注释符号去掉,修改数据库IP、端口和数据库名称
这里用的是本机数据库,所以IP为127.0.0.1,如果是远程数据库改为IP地址即可

Windows环境配置SonarQube结合Sonar Scanner进行代码分析

以上是数据库连接,下面说数据库用户名和密码

还是上面的sonar.properties文件,找到sonar.jdbc.username和password内容,修改为你的数据库用户名和密码

Windows环境配置SonarQube结合Sonar Scanner进行代码分析

SonarQube其他配置

SonarQube默认的端口是9000,找到sonar.web.port位置,可进行端口号的修改

Windows环境配置SonarQube结合Sonar Scanner进行代码分析

完成如上配置以后,重启SonarQube,ctrl+c停掉SonarQube运行窗口,再次运行StartSonar.bat启动SonarQube

登录

如图点击Log in进入登录页面,输入账号和密码,默认账号和密码都是admin

Windows环境配置SonarQube结合Sonar Scanner进行代码分析.]

安装插件

登录以后,如下图进入插件安装页面

Windows环境配置SonarQube结合Sonar Scanner进行代码分析

这里常用的即是中文插件,如图搜索chinese pack包进行install

Windows环境配置SonarQube结合Sonar Scanner进行代码分析

安装成功以后restart,如图英文切换为中文

Windows环境配置SonarQube结合Sonar Scanner进行代码分析

以上内容是SonarQube的安装与配置,下面说一下配置Sonar Scanner进行项目代码分析

Sonar Scanner安装配置

下载

附上下载链接:https://docs.sonarqube.org/di...
这里下载的是Windows 64位

安装

同样的解压下载的压缩包,这里仍旧放到D盘

Windows环境配置SonarQube结合Sonar Scanner进行代码分析

配置

文件配置

如图,进入刚解压得到的文件夹中conf文件夹,配置sonar-scanner.properties

Windows环境配置SonarQube结合Sonar Scanner进行代码分析

编辑该文件,修改sonar访问的url以及数据库等
这里贴出我的配置示例

#Configure here general information about the environment, such as SonarQube DB details for example
#No information about specific project should appear here

#----- Default SonarQube server
sonar.host.url=http://127.0.0.1:9000

#----- Default source code encoding
#sonar.sourceEncoding=UTF-8

sonar.jdbc.username=root 
sonar.jdbc.password=4rfv5tgb 
sonar.jdbc.url=jdbc:mysql://127.0.0.1:3306/sonartest?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
useConfigs=maxPerformance 
sonar.sourceEncoding=UTF-8 
sonar.login=admin 
sonar.password=admin

环境变量

如何新建环境变量不多说明,直接说编辑的环境变量
在环境变量path中加入 D:SonarScannerbin(D:SonarScanner为我前面Sonar Scanner解压之后放的位置)

Windows环境配置SonarQube结合Sonar Scanner进行代码分析

配置完成以后,在命令行输入sonar-scanner -version,如下图所示,则配置成功

Windows环境配置SonarQube结合Sonar Scanner进行代码分析

以上就是SonarQube和Sonar Scanner的配置内容,下面说说两者结合起来进行项目代码审查

项目审查配置

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

sonar.projectKey=Sonartest   //项目key
sonar.projectName=Sonartest  //项目名字
sonar.projectVersion=1.0     //项目版本
sonar.sources=src            //要分析的源码的目录 多个目录用英文逗号隔开
sonar.java.binaries=WebRoot/WEB-INF/classes  
//新版的需要加上binaries这个属性,否则无法解析,我这里是Java项目,所以部署后有对应的classes文件夹
sonar.language=java          //语言
sonar.sourceEncoding=UTF-8   //编码

编辑完该文件后打开命令行,进入项目根目录下,然后输入"sonar-scanner"命令,执行代码分析
看到如图success即分析成功

Windows环境配置SonarQube结合Sonar Scanner进行代码分析

浏览器再次访问SonarQube,可以看到分析的项目Sonartest,点击项目进入即可看到相关问题及修改方式

Windows环境配置SonarQube结合Sonar Scanner进行代码分析

好了,以上就是Windows下配置SonarQube结合Sonar Scanner进行代码分析的全部内容。
这里进行代码分析每次都要执行脚本,且在每个项目目录下创建文件sonar-project.properties
项目多了的话总是比较麻烦的,下面会再写一篇说嘛Jenkins配置SonarQube进行代码分析
这样就不用每次创建然后到cmd键入命令执行分析了

相关推荐