Maven SonarQube CodeReview

介绍

  1. SonarQube
* 官网: https://www.sonarqube.org/
    * 介绍:(曾用名Sonar(声纳)是一个开源的代码质量管理系统。 复制代码
  1. SonarQube 特征
* 支持超过25种编程语言:Java、C/C++、C#、PHP、Flex、Groovy、JavaScript、Python、PL/SQL、COBOL等。(不过有些是商业软件插件)
    * 能够在Android开发中使用
    * 提供重复代码、编码标准、单元测试、代码覆盖率、代码复杂度、潜在Bug、注释和软件设计报告
    * 提供了指标历史记录、计划图(“时间机器”)和微分查看
    * 提供了彻底自动化的分析:与Maven、Ant、Gradle和持续集成工具(Atlassian Bamboo、Jenkins、Hudson等)* 与Eclipse开发环境集成
    * 与JIRA、Mantis、LDAP、Fortify等外部工具集
    * 支持扩展插件
    * 利用SQALE计算技术债务
    * 支持Tomcat。不过计划从SonarQube 4.1起终止对Tomcat的支持。
复制代码

安装

  1. 依然使用docker image 部署
  2. 若是没有安装docker 请参考这篇博客
  3. 启动
docker run -d --name sonarqube \
        -p 9000:9000 -p 9092:9092 \
        -e SONARQUBE_JDBC_USERNAME=sonar \
        -e SONARQUBE_JDBC_PASSWORD=sonar \
        -e SONARQUBE_JDBC_URL=jdbc:mysql://192.168.199.131:3306/tryspread?useUnicode=true&characterEncoding=utf-8 \
        sonarqube复制代码
  1. 访问。http://ip:9000
![](https://user-gold-cdn.xitu.io/2019/10/9/16daf6f3f6dd66c9?w=2902&h=1686&f=png&s=112411)复制代码

项目中使用

使用方式1

  1. maven setting.xml 设置
2.  pom添加插件复制代码
<plugin>
                <groupId>org.sonarsource.scanner.maven</groupId>
                <artifactId>sonar-maven-plugin</artifactId>
                <version>3.3.0.603</version>
        </plugin>复制代码
  1. 使用。执行 mvn sonar:sonar 便可

使用方式2

  1. pom添加插件
<plugin>
                   <groupId>org.sonarsource.scanner.maven</groupId>
                   <artifactId>sonar-maven-plugin</artifactId>
                   <version>3.3.0.603</version>
         </plugin>
2. 使用默认的账号登陆以后,能够:
    * 生成一个代替账号的`token`
    * 修改一个`admin`的密码
    * 能够在`Administration`=>`System`=>`Update Center`,安装中文插件和其它要分析的语言的插件复制代码
  1. 执行
mvn clean package sonar:sonar \
          -Dsonar.host.url=http://localhost:9000 \  //此处是sonar控制台访问地址
          -Dsonar.login=token  //token 是登录到sonar后本身设置的token 复制代码
或者复制代码
mvn clean org.jacoco:jacoco-maven-plugin:prepare-agent package \ 
        -Dmaven.test.failure.ignore=true \
         deploy \ 
         sonar:sonar -Dsonar.host.url=http://192.168.199.131:9000 -Dsonar.login=2feb1b65a2224c9cb6744f35a7e45988e3443af6
 复制代码

观察


![](https://user-gold-cdn.xitu.io/2019/10/9/16daf6f477cc2e5b?w=3312&h=1606&f=png&s=74856)复制代码

实时code review


* 插件:SonarLint复制代码
* 官网:http://www.sonarlint.org/intellij/复制代码
  • 关于SonarQube经常使用设置,下个博客再讲。
    如感受文章对你有所帮助,能够关注微信公众号鼓励一下

相关文章
相关标签/搜索