SonarQube+Sonar-runner+Jacoco+Gradle搭建代码质量检测环境

  1. 下载SonarQube,这里选用的版本是SonarQube5.2:下载链接;下载Sonar-runner2.4:下载链接。

  2. 将下载的两个压缩包解压到自指定目录,我这里解压到了/usr/local/Cellar目录下。

  3. 配置环境变量,在/etc/profile中加入如下配置:
    export PATH=${PATH}:/usr/local/Cellar/mysql/5.7.13/bin
    export SONAR_HOME=/usr/local/Cellar/sonarqube-5.2
    export SONAR_RUNNER_HOME=/usr/local/Cellar/sonar-runner-2.4
    export PATH=$PATH:$SONAR_HOME/bin:$SONAR_RUNNER_HOME/bin

    命令行输入显示如下即可:
    SonarQube+Sonar-runner+Jacoco+Gradle搭建代码质量检测环境_第1张图片

    4 .修改sonarqube的sonar.properties文件如下:
    sonar.jdbc.username=sonar
    sonar.jdbc.password=sonar
    sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance

    5 .修改sonar-runner的sonar.properties文件如下:
    sonar.host.url=http://localhost:9000
    sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8
    sonar.jdbc.username=sonar
    sonar.jdbc.password=sonar
    sonar.sourceEncoding=UTF-8
    sonar.login=admin
    sonar.password=admin

    6 . 启动SonarQube,进入SonarQube的bin目录下执行启动命令:
    ./sonar.sh start
    查看是否启动成功:
    ps -ef | grep sonarqube

    7 . 下载jacoco.zip:下载链接,解压得到jacocoagent.jar,放在自指定目录/usr/local/Cellar/jacoco。

    8 . 要修改服务器配置—带上-javaagent选项。
    【简单理解:javaagent类似于拦截器,在执行java的main方法之前,它会先执行javaagent里面的实现的premain方法】
    修改java容器(jboss或者tomcat)启动jvm的选项:
    tomcat:在目录下面/usr/local/tomcat/bin新建一个文件setenv.sh文件,内容如下:这里写图片描述

    9 . 在IntelliJ中对项目的build.gradle文件进行如下编辑:SonarQube+Sonar-runner+Jacoco+Gradle搭建代码质量检测环境_第2张图片

10 . 编译部署被测代码,启动服务器
最终查看ps -ef | grep java的时候,能够看到-javaagent选项。

11 . 停止jboss/tomcat服务。
一定要停止jboss/tomcat服务,注意使用kill ,不能使用kill -9 来杀死java进程,原因是jacoco是在jboss/tomcat停止的时候,挂钩子来生成jacoco.exec文件的。kill -9是强制杀死进程,没法产生jacoco.exec文件的。

12 . 在命令行执行如下命令,生成代码质量检测数据:
这里写图片描述

13 .访问http://sonarip:9000,查看数据报告。
SonarQube+Sonar-runner+Jacoco+Gradle搭建代码质量检测环境_第3张图片

你可能感兴趣的:(SonarQube+Sonar-runner+Jacoco+Gradle搭建代码质量检测环境)