• SonarQube 平台搭建


    1. 前期准备

    ① 环境

    jdk 1.8 配置(见其他随笔)

    MySQL 5.7(见其他随笔)

    ② 工具下载

    sonarqube 下载 <链接:https://pan.baidu.com/s/1pDMgIDnXccDi305WHDWfJQ 密码:8w0n>

    SonarQube+Scanner下载 <链接:https://pan.baidu.com/s/1xWJtYOIFQSA4WMzHrr5j-Q 密码:68mm>

    2. 安装

    ① sonarqube解压到指定文件夹 <D:sonarqube-7.3>

    ② 启动StartSonar(对应win 64bit)

    打开D:sonarsonarqube-5.3sonarqube-5.3inwindows-x86-64StartSonar.bat

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

     

    3. 配置

    ① MySQL中,新建数据库prsonar

    1 CREATE DATABASE prsonar;

    ② 创建 test 用户并进行授权

    1 CREATE USER 'test'@'localhost' IDENTIFIED BY '123456'; // 创建用户并设置密码
    2 // username 为创建的用户名
    3 host为对应的主机地址,本地就是localhost
    4 password为设置的密码
    5 
    6 GRANT ALL ON *.* TO 'test'@'localhost'; //对用户进行授权操作

    ③ 修改SonarQube配置文件,添加Mysql相关配置

    1 sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
    2 sonar.jdbc.username=test  // 刚刚创建的sonarQube用户
    3 sonar.jdbc.password=123456   // 创建用户对应的密码
    4 sonar.sorceEncoding=UTF-8 // 设置编码格式为UTF-8

    4. 重新启动sonar服务

    ① 双击StartSonar.bat文件,重新启动【配置mysql 启动时间会比较久】

     

    ② 浏览器打开 http://localhost:9000

    ③ 登陆

    初始用户名:admin

    初始密码:admin

    如下图,登陆成功

    5. 使用

     ① 中文插件安装

    github地址:https://github.com/SonarQubeCommunity/sonar-l10n-zh

    选择对应版本下载后,放置到<D:sonarqube-7.3extensionsplugins> 路径下,重启sonar 即可。

    中文显示sonar,但还是不推荐,有些翻译的并不标准

    ② maven的集成

    修改 maven   <D:apache-maven-3.5.4confsettings.xml> 

     1 <settings>
     2     <pluginGroups>
     3         <pluginGroup>org.sonarsource.scanner.maven</pluginGroup>
     4     </pluginGroups>
     5     <profiles>
     6         <profile>
     7             <id>sonar</id>
     8             <activation>
     9                 <activeByDefault>true</activeByDefault>
    10             </activation>
    11             <properties>
    12                 <!-- Optional URL to server. Default value is http://localhost:9000 -->
    13                 <sonar.host.url>
    14                   http://loaclhost:9000
    15                 </sonar.host.url>
    16             </properties>
    17         </profile>
    18      </profiles>
    19 </settings>
    20 <!--其中sonar.host.url 值就是 上文启动的sonar 服务器地址。
    -->

     ③ build 项目代码 - 代码扫描

    maven项目中pom.xml目录下,执行

    1 mvn clean install sonar:sonar

    扫描会有一段时间 【maven 仓库的地址:C:Users用户名.m2 epository】

     ④ 查看扫描结果显示

    显示BUILD SUCCESS 执行成功。

    6. 结果分析 

    ① <http://localhost:9000/projects> 查看project显示

    ② 查看问题显示,根据问题描述,进行代码优化

    PS:扫描规则的配置:

    Rules(代码规则)中,language(语言)下选择java或其他语言,规则可以选择性的关闭或者激活。

    ---------------------------------------------------------------------------------*************分界线*************----------------------------------------------------------------------

    问题汇总:

    1. 问题描述:

    双击StartSonar.bat后,控制台打开后,自动关闭,无法启动成功,sonar.log 报错“Error: missing `server' JVM at `D:jre1.8.0_144inserverjvm.dll'.”

    解决办法:

    修改PATH变量,直接将<%JAVA_HOME%in;%JAVA_HOME%jrein;>放到PATH变量的最前面,重新打开后,问题解决。

    2. 问题描述:

    双击<StartSonar.bat> 提示“另一程序正在使用此文件”

    解决办法:

    由于之前启动的sonar进程未关闭,有冲突;打开资源管理器(ctrl+shift+esc),杀掉java进程重新启动,问题解决。

    3. 问题描述:双击<StartSonar.bat> ,dos窗口启动之后闪退

    sonar.log “exception caught on transport layer [[id: 0x6b97e495, L:/127.0.0.1:49426 - R:/127.0.0.1:9001]], closing connectionjava.io.IOException: 远程主机强迫关闭了一个现有的连接。”

    web.log 如下:

    解决办法:

    由于配置文件中,数据库名称忘记修改了,实际应该为prsonar

     4. 问题描述:

    执行sonar,控制台报错:

    “[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.20.1:test (default-test) on project yyt-uiautotest: There are test failures.

    解决办法:

    初步断定是与pom.xml中配置信息有关,换其他工程,问题解决。

  • 相关阅读:
    RHEL7基本命令
    RHEL7VIM编辑器
    hello world
    配置mysql允许远程连接
    c#利用HttpWebRequest获取网页源代码
    C++局部变量详解(笔试题)
    c语言文件常用的操作
    Cocos2dx v3.1 初识(一)
    创建钩子(Hook)
    Extjs4.2.0 Form 的使用
  • 原文地址:https://www.cnblogs.com/SH-xuliang/p/9596501.html
Copyright © 2020-2023  润新知