zoukankan      html  css  js  c++  java
  • Jenkins系列——使用SonarQube进行代码质量检查

    1.目标

    之前已经写过一篇关于Jenkins和SonarQube的一篇博客《jenkins集成sonar》,本文在参考前文的基础上,做了详细的补充。

      使用SonarQube进行代码质量检查,访问SonarQube Server,可以查看代码质量检查报告。

    2.环境说明

      jdk:sun JDK1.8.0_20 64bit

      MySQL:5.7.13

      sonarqube-5.6.zip(链接: https://pan.baidu.com/s/1miRtGog 密码: k3qn)

      sonar-scanner-2.6.1.zip(链接: https://pan.baidu.com/s/1nvuNFw1 密码: 9gac)

      Jenkins sonar插件——sonar-2.6.hpi(链接: https://pan.baidu.com/s/1kVulJmB 密码: yyqq)

      SonarQube汉化插件——sonar-l10n-zh-plugin-1.11.jar(链接: https://pan.baidu.com/s/1hstBTjA 密码: pb4m)

    ①Jenkins系列文档自本篇起JDK版本采用sun jdk8+ 。

    ②SonarQube依赖条件详细参考SonarQube官方文档

    3.前置工作

    3.1 jdk8+的安装

      略。

    3.2 MySQL的安装及建立sonar专用database

      安装过程略。

    使用如下语句建立database:

    create database sonar default charset=utf8;

    3.3 配置sonarqube-server

      进入sonarqube-server安装目录  >> conf目录,编辑sonar.properties文件:

      

    3.4 配置sonarqube-runner

      进入sonarqube-runner安装目录  >> conf目录,编辑sonar-scanner.properties文件:

      

    笔者后来在安装当前最新版本(6.3.1)时,发现sonar-runner还必须加如下配置:

    sonar.login=admin

    sonar.password=admin

    注:admin/admin是sonar的管理员初始登录账号密码。

    最终sonar-runner的配置如下:

    3.5 验证SonarQube是否安装成功

      启动sonarqube-server:

      

      访问http://localhost:9000

    ①在windows下启动失败请尝试用『以管理员身份运行』。

    ②如果SonarQube用的比较多,可以设置为服务。如此便不用每次都启动。

    ③在Jenkins中调用sonar,前提仍然是sonarqube-server已启动。

    3.6 验证sonar-runner【可选】

      (1)设置SONAR_RUNNER_HOME环境变量,值为sonar-runner安装位置

      (2)设置path环境变量,增加 ;%SONAR_RUNNER_HOME%in

      (3)新建sonar-project.properties文件,增加以下内容:

        

      (4)进入源码位置,在控制台中执行sonar runner命令,看能够构建成功。

    3.7 安装jenkins的sonar插件

      方式一:通过上传sonar-*.hpi文件的方式安装,在没网络的情况下可能还要手动处理依赖插件。

      方式二:在jenkins的『插件管理』中搜索sonar插件安装。

    4.Jenkins配置

    4.1 配置jdk

       进入『系统管理』 >> 『Global Tool Configurationa』,配置如下:

      

    从此篇文章起,jdk版本变成了1.8+。如果jdk一开始就是1.8+,此步配置应省略。

    4.2 配置sonar-server

      进入『系统管理』 >> 『系统设置』,配置如下:

    4.3 配置sonar-runner

      进入『系统管理』 >> 『Global Tool Configurationa』,配置如下:

      

    4.4 新建并配置job【自由风格】

      (1)配置sonar-project.properties,详见本文3.6 步骤(3)。最终效果如下:

       

      (2)配置job 

    这里源码使用了码云的zheng项目,直接放到了该作业工作区的src目录之下。

    5.构建结果

      控制台输出如下:

    返回作业,能看到sonarqube检查结果的链接图标:

       点击接图标,可以看到该次构建结果:

    SonarQube汉化请参考《SonarQube中文插件安装》。

    6.总结

    ①SonarQube 需要JDK 和 数据库 的支持。在选择前需要阅读官方文档选择合适的版本。

    ②SonarQube 是一个独立的软件,不是一定要和jenkins 扯上联系,因此完全可以先独立验证SonarQube的可用性,再利用sonar插件和jenkins关联。

    ③SonarQube 需要对sonar-server 做配置才能进一步使用。扫描项目时需要提供项目的配置文件。

  • 相关阅读:
    Django 之Redis配置
    python之类中如何判断是函数还是方法
    Anaconda 虚拟环境安装及应用
    【转载】IDEA:XML配置提示URI is not registered
    idea中配置xml不自动提示解决方案
    Java接口成员变量和方法默认修饰符
    [转载]java中Date,SimpleDateFormat
    intellij idea 的全局搜索快捷键方法
    【转载】使用IntelliJ IDEA提示找不到struts-default文件
    【转载】Jmeter分布式部署测试-----远程连接多台电脑做压力性能测试
  • 原文地址:https://www.cnblogs.com/helloIT/p/6684247.html
Copyright © 2011-2022 走看看