SonarQube安装文档

1.SonarQube

1.1 SonarQube介绍

SonarQube是管理代码质量一个开放平台,可以快速的定位代码中潜在的或者明显的错误

SonarQube是否可以使用自定义规则由开发人员的开发语言所决定,详见

https://docs.sonarqube.org/display/DEV/Adding+Coding+Rules

1.2  SonarQube分析C#

分析C#项目的步骤

分析.NET解决方案可以在命令行,JenkinsTFS / VSO中完成。这是一个简单快速的入门示例。有关详细信息,请参阅:  使用SonarQube扫描仪分析MSBuild  或参考GitHub上的示例项目。

  1. 安装SonarQube服务器( 有关详细信息,请参阅  安装和升级)
  2. 安装SonarScanner for MSBuild并确保您可以从拥有源代码的目录中调用SonarScanner.MSBuild.exe
  3. 安装SonarC#( 有关详细信息,请参阅  安装插件)。默认情况下,SonarC#与SonarQube一起提供。
  4. 通过从项目的根目录执行以下命令来运行分析:

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 FilesJavajdk-12

在服务器环境变量Path中添加Java bin的目录,例如C:Program FilesJavajdk-12in

最后在dos窗口输入java -version,回车显示如下信息,即表示jdk已经安装成功。

 

2.2 SonarQube

2.2.1 SonarQube下载以及安装

下载地址:https://www.sonarqube.org/downloads/

  1. 下载好sonarqube后,解压打开bin目录,启动相应OS目录下的StartSonar。如本文演示使用的是win64位系统,则打开

D:sonarsonarqube-6.3sonarqube-6.3inwindows-x86-64StartSonar.bat

  1. 启动浏览器,访问http://localhost:9000,如出现下图则表示安装成功。

2.2.2 SonarQube数据库配置

sonarqube使用的数据库类型可根据实际情况进行配置。下面以sqlserver为例:

  1. 创建名为sonars的数据库
  2. 为数据库创建特定的访问账号以及密码,此账号需要有可读可写的权限。如果不想创建特定的用户,使用sa账户也是可以的。使用Microsoft SQL Server时,数据库的排序规则必须为“大小写敏感”(CS)和“重音敏感”(AS),执行如下命令alter database sonar collate Chinese_PRC_CS_AS
  3. 修改sonar配置文件

D:工作软件sonarqube-7.7confsonar.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:sonarsonar-scanner-2.5confsonar-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_HOMEvalue=D:sonarsonar-scanner-2.8

2.打开path,输入%SONAR_RUNNER_HOME%in;

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_HOMEvalue=D:工作软件sonar-scanner-2.8-MSbulid

2.打开path,输入%SONAR_RUNNER_MSBUILD_HOME%;

2.3.3 修改配置文件

打开D:工作软件sonar-scanner-2.8-MSbulidSonarQube.Analysis.xml

要修改的地方只是关于sonarQube服务器的一些配置,关于服务器URLUSERPASSWORD

注意,这里的参数User/PassWord是登陆sonarQube平台的用户名和密码,请不要与sonarQube数据库的登陆用户名和密码搞混淆。

 

2.3.4 运行步骤

1.打开源代码文件夹,例如”F: estArasCheckItemArasCheckItem“,在当前的路径打开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)MSBuild14.0Bin

DOS窗口中执行命令:"C:Program Files (x86)MSBuild14.0BinMSBuild.exe" /t:Rebuild (这里的参数/t如果不指定也是可以扫描出来的)。如果上面的命令不能执行成功,可以按照以下步骤解决问题:(1)在系统变量里面,打开path,输入C:Program Files (x86)MSBuild14.0Bin,然后保存;(2)回到dos窗口,输入命令MSBuild.exe /t:Rebuild,然后回车等待命令执行完成即可。出现下图,则表示执行成功:

 

   5.dos窗输入命令MSBuild.SonarQube.Runner.exe end,回车等待执行结果。出现下图,则表示执行成功:

 

原文地址:https://www.cnblogs.com/liujiangping/p/10675211.html