Sonarqube搭建

 

核心注意点:

 

SonarQube是一个Java应用,自SonarQube7.9版本开始放弃支持MySQL数据库,8.3.1版本下只支持内存模式、PostgreSQLMicrosoft SQL ServerOracle四种存储引擎

 

1. SonarQube 7.9 需要安装JDK11+

 

  1. SonarQube 7.9 开始正式不支持MySQL

 

  1. Sonarqube6.7.6版本匹配mysql5.7版本
  2. 官方文档要求sonarqube的版本在6.7以上,才可兼容Findbugs插件.

 

准备工作:

 

1、jdk

 

2sonarqubehttp://www.sonarqube.org/downloads/

 

3https://docs.sonarqube.org/latest/analysis/scan/sonarscanner/

 

4、mysql数据库

 

 

1 安装sonarqube

 

下载后解压打开bin目录,启动相应OS目录下的StartSonar.bat(根据自己的机器来选择) 如下图

 

 

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

 

 

2、安装数据库(请参考https://www.jb51.net/article/82399.htm

 

3、打开mysql,新建一个数据库 如sonar

4、打开sonarqube安装目录下的D:\sonar\sonarqube-5.3\sonarqube-5.3\conf\sonar.properties

5、mysql5.X节点下输入以下信息

sonar.jdbc.url=jdbc:mysql://172.16.30.228:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance

sonar.jdbc.username=root

sonar.jdbc.password=root

sonar.sorceEncoding=UTF-8

sonar.login=admin

sonar.password=admin

 

url是数据库连接地址,username是数据库用户名,jdbc.password是数据库密码,loginsonarqube的登录名,sonar.passwordsonarqube的密码

 

6、重启sonarqube服务,等待两分钟左右 再次访问http://localhost:9000,因为要初始化数据库信息

7、打开D:\sonar\sonar-scanner-2.5\conf\sonar-scanner.properties文件

8、配置如下

sonar.jdbc.url=jdbc:mysql://172.16.30.228:3306/qjfsonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance

sonar.jdbc.username=root

sonar.jdbc.password=root

 

注意:如果测试项目与服务器不在同一台机子,则需要添加服务器的IP

sonar.host.url=http://XXX.XXX.XXX.XXX:9000

 

 

9、配置环境变量

a.新建变量name=SONAR_SCANNER_HOME value=D:\sonar\sonar-scanner-2.5

b.打开path追加%SONAR_SCANNER_HOME%\bin;

c.命令行执行 sonar-scanner -version,出现以下信息,则表示环境变量设置成功

 

 

 

10、新建配置文件sonar-project.properties

 

打开要进行代码分析的项目根目录,新建sonar-project.properties文件

 

 

 

示例如下

 

sonar.projectKey=xgfe

sonar.projectName=xgfe

sonar.projectVersion=1.1

sonar.sources=src

sonar.binaries=target\classes

sonar.language=java

sonar.sourceEncoding=UTF-8

 

#projectKey是项目的唯一标识,不能出现重复,可随意起

# projectName项目名称

# projectVersion项目的版本号

# sources为源码目录

# binaries为编译后的classes目录,这个目录要注意一下,如果都在bin下面或者目录还有很多层级才到classe目录,可以直接为sonar.binaries=binsonar会自动遍历所有目录

# language为分析的语言

# sourceEncoding源码编码格式

 

11、启动StartSonar.bat服务,并以管理员的身份启动一个cmd命令窗口,cd命令进入项目的根路径下,执行命令:sonar-scanner,开始对你的代码进行质量审核

 

 

12、之后访问http://localhost:9000/, 并进行登录admin/admin,即可查看代码审查结果信息

 

 

 

13、SonarQube支持GradleMavenAnt等多种方式的扫描,我们以Maven为例。

 

 

<pluginGroups>

        <pluginGroup>org.sonarsource.scanner.maven</pluginGroup>

    </pluginGroups>

 

 

<profile>

      <id>sonar</id>

      <activation>

        <activeByDefault>true</activeByDefault>

      </activation>

      <properties>

        <sonar.jdbc.url>jdbc:mysql://localhost:3306/sonar</sonar.jdbc.url>

        <sonar.jdbc.driver>com.mysql.jdbc.Driver</sonar.jdbc.driver>

        <sonar.jdbc.username>root</sonar.jdbc.username>

        <sonar.jdbc.password>root</sonar.jdbc.password>

        <sonar.host.url>http://localhost:9000</sonar.host.url>

      </properties>

</profile>

 

 

 

配置完毕之后需要根据之前说的那样将SonarQube重启。

 

14、扫描maven工程

上面已经配置好了maven环境变量,然后在需要扫描的项目路径下执行以下maven命令,即可扫描项目代码:

 

 mvn clean compile sonar:sonar

 

 

如果云心报错如下 默认版本过高

 

 

请在pom.xml中添加如下

  <plugin>

    <groupId>org.sonarsource.scanner.maven</groupId>

     <artifactId>sonar-maven-plugin</artifactId>

     <version>3.2</version>

    </plugin>

posted @ 2020-09-07 18:37  春意了无痕  阅读(397)  评论(0)    收藏  举报