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 做配置才能进一步使用。扫描项目时需要提供项目的配置文件。

  • 相关阅读:
    druid的配置
    js学习(五)-全局函数和类内部函数区别
    js学习(四)- prototype原型对象
    js学习(三)-使用大括号({ })语法创建无类型对象
    js学习(一)-动态添加、修改、删除对象的属性和方法
    js学习(一)-对象和函数概念
    js关于函数和对象的概念
    js传递数组到后台
    ubantu一些资料
    fiddler的编程文章
  • 原文地址:https://www.cnblogs.com/helloIT/p/6684247.html
Copyright © 2011-2022 走看看