赞
踩
SonarQube(曾用名Sonar(声纳))是一个优秀的开源代码测试分析工具,支持超过25+种编程语言,对.Net Core当然也支持的。
环境安装包括:Java-JDK,SonarQube、sonar-scanner for MsBuild
Sonar是一款基于JAVA开发的工具,选择合适的windows位数版本下载,安装JDK的过程在此不再叙述,建议安装好后配置需要JAVA_HOME的环境变量,配置环境变量看这里:cmd执行环境配置。
下载地址:JDK Download
下载地址:SonarQube Download
这里下载社区版Community
压缩包解压到喜欢的地方
进入bin目录,再进入windows-x86-64
运行StartSnoar.bat,完成SonarQube安装
如果JDK安装和环境变量正常,SonarQube安装成功如下
浏览器打开SonarQube配置默认串口9000的网站:http://localhost:9000/about,登录账号密码默认为admin,原本Projects Analyzedwe为0,我这里做了两个项目扫描。
想配置串口可通过conf>sonar.properties配置,去掉#,串口改成其他数字
下载地址:Sonar-Scanner for MsBuild Download
压缩包解压,配置解压地址的环境变量即可,环境变量配置不再赘述。
确认电脑是否安装了MSBuild.exe,它是Visual Studio的编译工具,目录是:Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin\amd64,需要配置它的环境变量。
选择性配置:数据库配置My SQL、设置SonarQube配置文件sonar.properties、设置Sonar-Scanner for MsBuild配置文件SonarQube.Analysis.xml
这里配置My SQL,如不配置,SonarQube会默认使用自带的存储,不必担心
打开My SQL,执行以下命令
CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'sonar' IDENTIFIED BY 'sonar';
GRANT ALL ON sonar.* TO 'sonar'@'%' IDENTIFIED BY 'sonar';
GRANT ALL ON sonar.* TO 'sonar'@'localhost' IDENTIFIED BY 'sonar';
FLUSH PRIVILEGES;
数据库的登录名和密码这里为sonar,SonarQube路径找到sonar.properties替换内容,其中sonar.jbc.url是mysql数据库的连接字符串。
sonar.jdbc.username=sonar
sonar.jdbc.password=sonar
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
如果修改了关于服务器URL、USER、PASSWORD等和关联数据库,需要修改SonarQube.Analysis.xml文件,要修改的地方只是关于sonarQube服务器的一些配置,,修改如下:
<?xml version="1.0" encoding="utf-8" ?>
<SonarQubeAnalysisProperties xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.sonarsource.com/msbuild/integration/2015/1">
<Property Name="sonar.host.url">http://localhost:9000</Property>
<Property Name="sonar.login">admin</Property>
<Property Name="sonar.password">admin</Property>
<!-- Required only for versions of SonarQube prior to 5.2 -->
<Property Name="sonar.jdbc.url">jdbc:mysql://localhost:3306/sonar?useUnicode=true;characterEncoding=utf8;rewriteBatchedStatements=true;useConfigs=maxPerformance;useSSL=false</Property>
<Property Name="sonar.jdbc.username">sonar</Property>
<Property Name="sonar.jdbc.password">sonar</Property>
</SonarQubeAnalysisProperties>
CMD进入C#项目所在的根目录,逐行执行以下三条命令。
MSBuild.SonarQube.Runner.exe begin /k:"项目键值" /n:"项目名" /v:"1.0"
MSBuild.exe /t:Rebuild
MSBuild.SonarQube.Runner.exe end
参数说明:
/key(简写k):对应projectKey即项目的唯一代码,如两套源代码使用同一个projectKey那扫描的结果将混在一起,所以一个项目需要有一个单独的projectKey
/name(简写n):对应projectName即项目的名称,为项目的一个显示的名称,建立使用完整的项目名称
/version(简写v):对应projectVersion即项目的版本,项目在不同的时期版本也是不一样的,如果方便,可以在sonarQube的服务器中查看到不同的版本代码其中问题的变化
查看分析结果:
以上为个人整理总结的知识,如有遗漏或错误欢迎留言指出、点评,如要引用,请写引用说明,未经允许谢绝转载。
[1]: https://www.cnblogs.com/CoderAyu/p/9416376.html
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。