美文网首页Jenkins+Sonar使用大型网站架构程序员
jenkins+SonarQube6.2代码质量管理平台安装与使

jenkins+SonarQube6.2代码质量管理平台安装与使

作者: jackcooper | 来源:发表于2017-02-14 17:23 被阅读6098次

    简介:

    Sonar是一个用于代码质量管理的开源平台,用于管理源代码的质量,可以从七个维度检测代码质量
    通过插件形式,可以支持包括java,C#,C/C++,PL/SQL,Cobol,JavaScrip,Groovy等等二十几种编程语言的代码质量管理与检测

    sonarQube能干什么?

    1.糟糕的复杂度分布
    2.重复
    3.缺乏单元测试
    4.没有代码标准
    5.没有足够的或者过多的注释
    6.潜在的bug
    7.糟糕的设计(原文Spaghetti Design,意大利面式设计)

    SonarQube安装

    说明:此处略过java,mysql,jenkins安装配置,如果不会,请百度学习。本文主要讲解sonarQube安装及与jenkins的整合

    1、SonarQube6.2下载地址:https://www.sonarqube.org/downloads/

    (下载包中包含各种系统下的安装脚本,本人选择用linux下安装)

    2、解压后,找到sonarqube-6.2/bin/linux-x86-64目录下,执行./sonar.sh启动即可

    3、访问http://ip:9000,出现如下界面即为安装成功。

    Paste_Image.png

    4、管理员登录(默认用户名密码admin),管理员区域找到chinese Pack,安装后重启,及汉化完成。

    Paste_Image.png

    5、配置mysql数据库,管理员建数据库sonarqube,修改{sonardir}/conf/sonar.properties,配置如下(示例):

    sonar.jdbc.url=jdbc:mysql://10.168.16.116:3306/sonarqube?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance
    sonar.jdbc.username=root
    sonar.jdbc.password=devApp2013

    6、如果是本机使用请参考http://www.cnblogs.com/qiaoyeye/p/5249786.html,本文主要介绍与jenkins的集成。

    Jenkiins配置使用sonarQube

    1、安装 SonarQube Plugin插件,系统管理插件管理—>可选插件—>SonarQube Plugin安装即可。

    2、配置SonarQube Scanner,系统管理—>Global Tool ConfigurationSonarQube ScannerSonarQube Scanner安装—>选择2.8—>保存

    Paste_Image.png Paste_Image.png

    3、配置SonarQube服务器

    系统管理系统设置—>SonarQube servers保存
    (其中这里的  Server authentication token不是密码,需要在服务器端生成)
    
    Paste_Image.png

    4、登录SonarQube,配置—>权限用户—>管理员—>generate Tokens。生成后赋值到3中的位置。

    Paste_Image.png
    配置sonarqube,关闭经用SCM传感器配置为是,这一步操作完毕,jenkins才能真正使用sonarqube Server服务器,否则,否则质量分析时会出错
    Paste_Image.png

    5、jenkins中持续集成项目整合sonarQube

    {项目}—>配置Add pre-build step
    
    Paste_Image.png

    配置如下:

    Paste_Image.png

    配置文件sonar.properties示例:

    #required metadata
    #projectKey项目的唯一标识,不能重复
    sonar.projectKey=xjglxt
    sonar.projectName=xjglxt
    sonar.projectVersion=1.0 
    sonar.sourceEncoding=UTF-8
    sonar.modules=java-module,javascript-module,html-module
    
    # Java module
    java-module.sonar.projectName=Java Module
    java-module.sonar.language=java
    # .表示projectBaseDir指定的目录
    java-module.sonar.sources=.
    java-module.sonar.projectBaseDir=src
    sonar.binaries=classes
    
    # JavaScript module
    javascript-module.sonar.projectName=JavaScript Module
    javascript-module.sonar.language=js
    javascript-module.sonar.sources=js
    javascript-module.sonar.projectBaseDir=webRoot
    
    # Html module
    html-module.sonar.projectName=Html Module
    html-module.sonar.language=web
    html-module.sonar.sources=pages
    html-module.sonar.projectBaseDir=webRoot
    
    sonar.projectKey=org.codehaus.sonar:php-sonar-runner-unit-tests
    sonar.projectName=PHP project analyzed with the SonarQube Runner reusing PHPUnit reports
    sonar.projectVersion=1.0
    sonar.sources=src
    sonar.tests=tests
    sonar.language=php
    sonar.sourceEncoding=UTF-8
    # Reusing PHPUnit reports
    sonar.php.coverage.reportPath=reports/phpunit.coverage.xml
    sonar.php.tests.reportPath=reports/phpunit.xml
    

    6、大功告成

    SonarQube设置的一些细节

    Paste_Image.png Paste_Image.png

    相关文章

      网友评论

      • 严北:你好,想请教一下,为啥我把一些代码删了,他分析的结果也没有出错的。。。我运行的c++的
        严北:@HarryKavin sonar-cxx
        f729184a21e4:你好,请问一下扫描C++程序需要安装什么插件?

      本文标题:jenkins+SonarQube6.2代码质量管理平台安装与使

      本文链接:https://www.haomeiwen.com/subject/qntfwttx.html