工具箱之 代码分析利器SonarQube

本文编写时SonarQubeCommunity Edition版本是8.3.1

简介

SonarQube是一个静态分析项目的工具,并且是开源产品(sonarqube github address)。使用SonarQube静态分析,可以分析项目的可靠性,安全性和可维护性。目前SonarQube已支持20多种语言

此处输入图片的描述

使用SonarQube可以帮助我们构建更优秀的项目。

安装使用SonarQube

SonarQube是B/S架构类型的产品,首先我们需要安装SonarQube

  1. 下载安装
    进入SonarQube下载网页,选择Community Edition版本下载,解压,然后进入${SonarQube}/bin/${os-type}/路径下,我是在Windows下安装,启动sonarqube-8.3.1.34397\bin\windows-x86-64\StartSonar.bat文件,然后在浏览器访问http://localhost:9000/,默认用户名密码为admin/admin

    注1:SonarQube默认是H2的嵌入式数据库,仅仅用于试用,如果想让数据存储更通用且具有扩展,可以自己配置Oracle/PostgreSQL/Microsoft SQLServer/SQL Azure(不幸的是SonarQube7.9版本后不再支持MySQL作为数据存储了)。

    注2:启动SonarQube时要以非root账户启动,因为SonarQube使用了elasticsearch,而elasticsearch不可以root启动,所以需要新建新的账户用来运行SonarQube。

  2. IDEA插件使用

    Intellij IDEA中可以采用插件的方式使用Sonar,在IDEA中搜索插件SonarLint,安装重启IDEA,鼠标右键点击既有Analyze with SonarLint选项

    此处输入图片的描述

    选中后就会在IDEA中显示出分析结果

    此处输入图片的描述

    SonarLint虽然可以直接配置SonarQube地址,但是仅仅只能拉取SonarQube的规则分析本地代码,并不能把本地分析结果上传至SonarQube

    此处输入图片的描述

    如果想要在Web端查看代码分析结果,最好是使用下面介绍的Maven方式

  3. Maven使用

    首先在Maven的配置文件(${maven_home}/conf/settings.xml)中pluginGroups标签下添加

    <pluginGroup>org.sonarsource.scanner.maven</pluginGroup>
    

    然后在profiles标签下添加

    <profile>
    	<id>sonar</id>
    	<activation>
    		<activeByDefault>true</activeByDefault>
    	</activation>
    	<properties>
    		<sonar.host.url>http://localhost:9000</sonar.host.url>
    	</properties>
    </profile>
    

    然后使用maven命令执行分析

    mvn clean verify sonar:sonar
    或
    mvn clean install
    mvn sonar:sonar
    

    然后登陆SonarQube即可查看分析结果

    此处输入图片的描述

    SonarQube搭配Maven使用官方教程

    :Maven需要3.x版本。

posted @ 2020-05-25 09:57  weegee  阅读(264)  评论(0编辑  收藏  举报