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文件
> mysqld  --initialize
> mysqld  --install
> net start mysql
  1. 修改初始化root密码
    修改my.ini,在[mysqld]下增加
> mysql 
mysql> use mysql;
mysql> UPDATE user SET authentication_string=PASSWORD('123456') where USER='root';
mysql> flush privileges;
mysql> quit;

重新进行登录

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.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文件,增加如下的内容:
    >
        >UTF-8>
        >java>
    >
  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 

相关