zoukankan      html  css  js  c++  java
  • SonarQube简单入门

    Sonar

    官方网站
    Sonar 是一个用于代码质量管理的开放平台。通过插件机制,Sonar 可以集成不同的测试工具,代码分析工具,以及持续集成工具。帮助文档

    系统构成

    SonarQube平台由4部分组成:

    1. SonarQube服务器
      1. Web服务器的开发者,管理者,浏览质量快照和配置SonarQube实例
      2.基于Elasticsearch搜索服务器从UI向后搜索
      3.负责处理代码分析报告计算引擎服务器,并将其保存在数据库SonarQube
    2. SonarQube数据库来存储
    3. 多个插件
    4. 一个或多个SonarQube Scanners:可以与CI服务进行集成
       
      系统构成和相互关系

    系统集成

    1.开发人员的代码在自己的IDE和使用SonarLint运行局部分析。
    2.开发人员推他们的代码到自己喜爱的供应链管理:SCM,SVN,TFVC,...
    3.持续集成服务器触发自动构建和SonarQube扫描仪的运行SonarQube分析所需的执行。
    4.分析报告被发送到SonarQube服务器进行处理。
    5.SonarQube服务器处理和存储分析报告导致SonarQube数据库,并显示结果在UI中。
    6.开发者审核,评论,挑战他们的管理,并通过SonarQube UI减少他们的技术债务问题。
    7.经理收到的分析报告。 OPS使用API​​从SonarQube自动化配置和提取数据。 OPS使用JMX来监控SonarQube服务器。

     
    操作流程

    myaql5.7

    1. 配置my.ini文件
    basedir = D:\\mysql-5.7.17-win32
    datadir = D:\\mysql-5.7.17-win32\\data
    port = 3306
    
    1. 进行初始化操作
      直接安装启动发现如下错误:


       
      启动失败

      应首先进行初始化操作才能正常

    > mysqld  --initialize
    > mysqld  --install
    > net start mysql
    
    1. 修改初始化root密码
      修改my.ini,在[mysqld]下增加
    skip-grant-tables
    

    重启mysql服务

    > mysql 
    mysql> use mysql;
    mysql> UPDATE user SET authentication_string=PASSWORD('123456') where USER='root';
    mysql> flush privileges;
    mysql> quit;
    

    重新进行登录

    > mysql -u root -p
    123456
    mysql> set password = password('123456');
    

    终于修改成功了!感觉好复杂!!!

    启动Sonar

    修改配置文件

    sonar.jdbc.username=root
    sonar.jdbc.password=123456
    sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useSSL=false
    

    启动之后使用mysql数据库

    示例使用

    1. 启动SonarQube,默认端口9000
    2. 下载Sonar Scanner作为客户端
    3. 下载演示用例子:在例子代码中执行客户端脚本
    4. 在web端查看结果


       
      结果截图
    5. 配置文件中修改端口和应用
      默认的端口为9000,应用为/,可以在配置文件中进行修改
    sonar.web.context=/sonar
    sonar.web.port=9881
    
    1. 下载中文插件
      使用管理者登录系统:默认admin/admin
      在配置->系统->更新中心中可以安装中文插件:查询chinese即可安装
    2. 配置数据库
      使用Mysql,版本必须在5.5以上,使用innodb引擎。在配置文件中增加如下的内容
    sonar.jdbc.username=root
    sonar.jdbc.password=123456
    sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useSSL=false
    

    运行启动脚本,需要比较长的时间进行数据库初始化

    Sonar客户端

    客户端主要有:sonar-scanner
    maven客户端:

    1. 使用自定义的mvn setting.xml文件,增加如下的内容:
      <pluginGroups>
        <pluginGroup>org.sonarsource.scanner.maven</pluginGroup>
      </pluginGroups>
      <profiles>
        <profile>
            <id>sonar</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <properties>
                <!-- Optional URL to server. Default value is http://localhost:9000 -->
                <sonar.host.url>
                  http://localhost:9881/sonar
                </sonar.host.url>
            </properties>      
        </profile>
      </profiles>
    
    1. 工程pom.xml文件中增加如下内容
        <properties>
            <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
            <sonar.language>java</sonar.language>
        </properties>
    
    1. 进行代码检查
    mvn clean install -sC:\Users\Administrator\.m2\settings-sonar.xml
    mvn sonar:sonar -sC:\Users\Administrator\.m2\settings-sonar.xml
    
    1. 在浏览器中查看执行结果


       
      执行结果
     
    链接:https://www.jianshu.com/p/81a1904b7ad1 
  • 相关阅读:
    Android px,dp,pt,sp的差别
    C 八皇后
    线性表
    android 推断手机是否支持前置摄像头
    C/C++易错难点笔记01
    Java日志记录的5条规则
    hdoj-1312-Red and Black
    oracle 11g sql developer安装后无法使用
    显示指定时间的秒数
    云端自动化测试方案
  • 原文地址:https://www.cnblogs.com/javalinux/p/15762455.html
Copyright © 2011-2022 走看看