Sonar代码质量管理

1,618 阅读2分钟

介绍

Sonar是一个用于代码质量管理的开源平台,用于管理源代码的质量,通过插件形式,可以支持包括java,C#,C/C++,PL/SQL,Cobol,JavaScrip,Groovy等等二十几种编程语言的代码质量管理与检测 。

SonarQube平台由4个组件组成:


SonarQube平台。

  1. 一个SonarQube服务器启动3个主要流程:

    • Web服务器,供开发人员,管理人员浏览高质量快照并配置SonarQube实例
    • 基于Elasticsearch的Search Server从UI返回搜索
    • 计算引擎服务器负责处理代码分析报告并将其保存在SonarQube数据库中
  2. 一个SonarQube数据库存储:

    • SonarQube实例的配置(安全性,插件设置等)
    • 项目,视图等的质量快照
  3. 服务器上安装了多个SonarQube插件,可能包括语言,SCM,集成,身份验证和治理插件
  4. 在构建/持续集成服务器上运行一个或多个SonarScanner来分析项目

流程:

SonarQube集成。

  1. 开发人员在他们的IDE中编写代码并使用运行本地分析。
  2. 开发人员将他们的代码推送到他们最喜欢的SCM:git,SVN,TFVC
  3. Continuous Integration Server会触发自动构建,以及运行SonarQube分析所需的SonarScanner的执行。
  4. 分析报告将发送到SonarQube服务器进行处理。
  5. SonarQube Server处理分析报告结果并将其存储在SonarQube数据库中,并在UI中显示结果。
  6. 开发人员通过SonarQube UI审核,评论,挑战他们的问题以管理和减少他们的技术债务。
  7. 经理从分析中接收报告。Ops使用API​​自动配置并从SonarQube中提取数据。Ops使用JMX监控SonarQube服务器。

安装使用(docker安装)

安装启动postgresql:

 docker run --name postgresqldb -e POSTGRES_USER=sonar -e POSTGRES_PASSWORD=sonar -d postgres 

安装启动Sonar:

docker run --name sq --link postgresqldb -e SONARQUBE_JDBC_URL=jdbc:postgresql://postgresqldb:5432/sonar -p 9000:9000 -d sonarqube 

 使用:

1、修改maven的setting文件

  <profiles> 
   <profile>
        <id>sonar</id>
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
        <properties>
            <sonar.host.url>
                http://47.106.251.170:9000
            </sonar.host.url>
        </properties>
    </profile>
</profiles>
<plugins>
    <plugin>
        <groupId>org.sonarsource.scanner.maven</groupId>
        <artifactId>sonar-maven-plugin</artifactId>
        <version>3.1.1</version>
    </plugin>
</plugins>

2、使用“sonar-maven-plugin sonar:sonar”命令


成功后就会在sonar网页上看到对应的项目:

本人提供访问地址:http://47.106.251.170:9000/projects。(自己买的轻量级服务器,请不要过度访问)

汉化

页面上扎到 Administration > Marketplace ,在搜索框中输入 chinese ,出现一个 Chinese Pack ,点击右侧的 install 按钮。
安装成功后,会提示重启 SonarQube 服务器
稍等一会,再看页面上已经显示中文了。