SonarQube安装文档
1.SonarQube
1.1 SonarQube介绍
SonarQube是管理代码质量一个开放平台,可以快速的定位代码中潜在的或者明显的错误。
SonarQube是否可以使用自定义规则由开发人员的开发语言所决定,详见
https://docs.sonarqube.org/display/DEV/Adding+Coding+Rules
1.2 SonarQube分析C#
分析C#项目的步骤
分析.NET解决方案可以在命令行,Jenkins或TFS / VSO中完成。这是一个简单快速的入门示例。有关详细信息,请参阅: 使用SonarQube扫描仪分析MSBuild 或参考GitHub上的示例项目。
- 安装SonarQube服务器( 有关详细信息,请参阅 安装和升级)
- 安装SonarScanner for MSBuild并确保您可以从拥有源代码的目录中调用SonarScanner.MSBuild.exe
- 安装SonarC#( 有关详细信息,请参阅 安装插件)。默认情况下,SonarC#与SonarQube一起提供。
- 通过从项目的根目录执行以下命令来运行分析:
SonarScanner.MSBuild.exe begin /k:"org.sonarqube:sonar-scanner-msbuild" /n:"Project Name" /v:"1.0"<font></font> MSBuild.exe /t:Rebuild<font></font> SonarScanner.MSBuild.exe end |
按照分析结尾处提供的链接,在SonarQube UI中浏览项目的质量。
2. 安装
2.1 JDK
2.1.1 JDK下载以及安装
安装jdk1.8版本或者更高版本。
http://www.oracle.com/technetwork/java/javase/downloads/java-se-jdk-7-download-432154.html
2.1.2 JDK环境变量配置
计算机属性》高级系统设置》高级》环境变量》系统变量,依次找到上图中的界面。
添加服务器环境变量JAVA_HOME, 内容为Java的安装目录。例如我这里的安装目录为C:\Program Files\Java\jdk-12
在服务器环境变量Path中添加Java bin的目录,例如C:\Program Files\Java\jdk-12\bin
最后在dos窗口输入java -version,回车显示如下信息,即表示jdk已经安装成功。
2.2 SonarQube
2.2.1 SonarQube下载以及安装
下载地址:https://www.sonarqube.org/downloads/
- 下载好sonarqube后,解压打开bin目录,启动相应OS目录下的StartSonar。如本文演示使用的是win的64位系统,则打开
D:\sonar\sonarqube-6.3\sonarqube-6.3\bin\windows-x86-64\StartSonar.bat
- 启动浏览器,访问http://localhost:9000,如出现下图则表示安装成功。
2.2.2 SonarQube数据库配置
sonarqube使用的数据库类型可根据实际情况进行配置。下面以sqlserver为例:
- 创建名为sonars的数据库
- 为数据库创建特定的访问账号以及密码,此账号需要有可读可写的权限。如果不想创建特定的用户,使用sa账户也是可以的。使用Microsoft SQL Server时,数据库的排序规则必须为“大小写敏感”(CS)和“重音敏感”(AS),执行如下命令alter database sonar collate Chinese_PRC_CS_AS
- 修改sonar配置文件
在D:\工作软件\sonarqube-7.7\conf\sonar.properties
打开写入以下文本:
sonar.jdbc.username=sa
sonar.jdbc.password=123456
sonar.jdbc.url=jdbc:sqlserver://192.168.58.128;databaseName=sonar;SelectMethod=Cursor;instance=sqlexpress
sonar.login=admin
sonar.password=admin
2.2.3 Sonar-Scanner下载以及安装
下载地址:
2.2.4 Sonar-Scanner数据库配置
1.打开D:\sonar\sonar-scanner-2.5\conf\sonar-runner.properties文件
写入如下文本:
sonar.host.url=http://localhost:9000
sonar.jdbc.url=jdbc:sqlserver://192.168.58.128;databaseName=sonar;SelectMethod=Cursor;instance=sqlexpress
sonar.jdbc.username=sonar
sonar.jdbc.password=123456
2.2.5 环境变量配置
1.新建变量,name=SONAR_RUNNER_HOME。value=D:\sonar\sonar-scanner-2.8
2.打开path,输入%SONAR_RUNNER_HOME%\bin;
3.在都是窗口输入命令:sonar-runner -version,出现以下信息,则表示环境变量设置成功。
2.3 SonarQube Scanner for MSBuild
2.3.1 SonarQube Scanner for MSBuild下载
下载地址:https://github.com/SonarSource/sonar-scanner-msbuild/releases
注意:红色框内的.NetFramework版本的代码分析仪,蓝色框内的.NetCore版本的代码分析仪
下载下来后,解压至合适的磁盘目录即可。
2.3.2 环境变量配置
1.新建变量,name=SONAR_RUNNER_MSBUILD_HOME。value=D:\工作软件\sonar-scanner-2.8-MSbulid
2.打开path,输入%SONAR_RUNNER_MSBUILD_HOME%;
2.3.3 修改配置文件
打开D:\工作软件\sonar-scanner-2.8-MSbulid\SonarQube.Analysis.xml,
要修改的地方只是关于sonarQube服务器的一些配置,关于服务器URL、USER、PASSWORD等
注意,这里的参数User/PassWord是登陆sonarQube平台的用户名和密码,请不要与sonarQube的数据库的登陆用户名和密码搞混淆。
2.3.4 运行步骤
1.打开源代码文件夹,例如”F:\test\ArasCheckItem\ArasCheckItem“,在当前的路径打开cmd(按住Shift键并鼠标右键,点击“在此处打开powershell窗口”),或者打开cmd窗口,并通过命令进入至该源码根目录(sln所在的目录)
2.在打开的dos窗口中执行命令:
MSBuild.SonarQube.Runner.exe begin /k:"TestProject" /n:"MyTestProject" /v:"1.0"
如下图所示,说明执行成功:
参数说明:
/key(简写k):对应projectKey即项目的唯一代码,如两套源代码使用同一个projectKey那扫描的结果将混在一起,所以一个项目需要有一个单独的projectKey
/name(简写n):对应projectName即项目的名称,为项目的一个显示的名称,建立使用完整的项目名称
/version(简写v):对应projectVersion即项目的版本,项目在不同的时期版本也是不一样的,如果方便,可以在sonarQube的服务器中查看到不同的版本代码其中问题的变化
4.运行命令MSBuild.exe,这个MSBuild是系统安装过VS后会存在的一个编译器,以Visual Studio 2017为例,地址是:C:\Program Files (x86)\MSBuild\14.0\Bin
在DOS窗口中执行命令:"C:\Program Files (x86)\MSBuild\14.0\Bin\MSBuild.exe" /t:Rebuild (这里的参数/t如果不指定也是可以扫描出来的)。如果上面的命令不能执行成功,可以按照以下步骤解决问题:(1)在系统变量里面,打开path,输入C:\Program Files (x86)\MSBuild\14.0\Bin\,然后保存;(2)回到dos窗口,输入命令MSBuild.exe /t:Rebuild,然后回车等待命令执行完成即可。出现下图,则表示执行成功:
5.在dos窗输入命令MSBuild.SonarQube.Runner.exe end,回车等待执行结果。出现下图,则表示执行成功:
SonarQube安装文档的更多相关文章
- ORACLE LINUX 6.3 + ORACLE 11.2.0.3 RAC + VBOX安装文档
ORACLE LINUX 6.3 + ORACLE 11.2.0.3 RAC + VBOX安装文档 2015-10-21 12:51 525人阅读 评论(0) 收藏 举报 分类: Oracle RA ...
- Oracle 11g 单实例安装文档
这里介绍在Red Hat Enterprise Linux Server release 5.7 (Tikanga)下安装ORACLE 11.2.0.1.0的过程,本文仅仅是为了写这样安装指导文档而整 ...
- linkedin开源的kafka-monitor安装文档
linkedin开源的kafka-monitor安装文档 linkedin 开源的kafka-monitor的安装使用可以参考官方的readme:流程介绍的已经比较清楚,但是还是有一些地方需要修正.让 ...
- _00024 尼娜抹微笑伊拉克_云计算ClouderaManager以及CHD5.1.0群集部署安装文档V1.0
笔者博文:妳那伊抹微笑 itdog8 地址链接 : http://www.itdog8.com(个人链接) 博客地址:http://blog.csdn.net/u012185296 博文标题:_000 ...
- oracle database 12c R1 安装文档
INSTALLORACLE DATABASE 12C 完整的安装文档下载地址: http://download.csdn.net/detail/royjj/5665869 OS:ORALCE LINU ...
- HAProxy安装文档
HAProxy安装文档 [toc][TOC] 一.环境说明 系统环境:CentOS Linux release 7.2.1511 (Core) 系统内核:3.10.0-327.el7.x86_64 软 ...
- Oracle 12c RAC 静默安装文档
参考文档: https://docs.oracle.com/en/database/oracle/oracle-database/12.2/cwlin/index.html https://docs. ...
- Oracle 12c RAC 安装文档
参考文档: https://docs.oracle.com/en/database/oracle/oracle-database/12.2/cwlin/index.html https://docs. ...
- Azkaban使用安装文档
Azkaban使用安装文档 Azkaban简介 Azkaban的是什么 Azkaban是由Linkedin公司推出的一个批量工作流任务调度器,用于在一个工作流内以一个特定的顺序运行一组工作和流程.Az ...
随机推荐
- Autofac之实例获取
通过之前的学习了解了使用Autofac第一步是通过向容器中注册类型,然后从容器中获取类型实例该怎么做呢? 本次主要学习如何在Autofac中获取注册类型实例 Resolve 使用Resolve方法获取 ...
- Python中的锁
一.全局解释器锁(GIL) 1.什么是全局解释器锁 在同一个进程中只要有一个线程获取了全局解释器(cpu)的使用权限,那么其他的线程就必须等待该线程的全局解释器(cpu)使用权消失后才能使用全局解释器 ...
- 剑指offer-机器人的运动范围
题目描述 地上有一个m行和n列的方格.一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于k的格子. 例如,当k为18时,机器人能 ...
- 学号 20175313《Java程序设计》 第七周学习总结
目录 一.教材学习内容总结 二.教材学习中的问题和解决过程 三.代码托管 四.心得体会 五.学习进度条 六.参考资料 一.教材学习内容总结 第八章主要内容 了解String类 常量对象:常量池中的数据 ...
- webapi发布到windows 2012的iis8里 出错
HTTP 错误 403.14 - Forbidden Web 服务器被配置为不列出此目录的内容. 选一个.net版本一致的应用程序池 即可
- Appium IOS 使用多模拟器并发执行测试
申明一下 转载请注明出处 复制粘贴请滚蛋 !!!!!!!! 最近在是用appium进行app的并发测试,并且Android已经实现在同一台PC机使用多个模拟器并发测试的功能 这里说一句模拟器使 ...
- allegro17.2 错误记录
1.网表导入PCB时出现如下错误::error with pin number 'P11'in device ' lfbga176'::Unable to find pin name in adfnc ...
- php curl 上传json数据
PUT $data = array('username'=>'dog','password'=>'tall'); $data_json = json_encode($data); $ch ...
- SQL的优化整理
1,对查询进行优化,要尽量避免全表扫描,首先应考虑在进行条件判断的字段上创建索引 (注意:如果一张数据表中的数据更新频率太高,更新数据之后需要重新创索引,这个过程很耗费性能,所以更新频率高的数据表慎用 ...
- 关于IE浏览器 ajax 请求返回数据不对的问题
在使用ajax向后台发送请求的时候,在使用ie 进行调试的时候发现根据条件进行查询时,返回的数据与没有根据条件进行查询时数据相同,也就是条件没有发生作用. 经过同事的帮助发现ajax初始化设置时没有c ...