美文网首页
SonarQube之SonarScanner使用

SonarQube之SonarScanner使用

作者: david161 | 来源:发表于2022-04-05 10:52 被阅读0次

    可以脱离开发环境进行测试。sonarscanner可以帮助开发人员将代码上传远程sonarqube服务器上。
    SonarQube在服务器端不支持32位系统,Sonarqube-scanner支持32位系统。最新版本已经无法下载32位操作系统的版本,这里我们只考虑64位操作系统的使用。

    官方文档

    https://docs.sonarqube.org/latest/analysis/scan/sonarscanner/
    

    环境变量

    配置环境变量 path中添加D:\DevEnvironment\sonar-scanner-4.7.0.2747-windows\bin
    这里写的是我自己的安装路径,大家根据配置的时候修改成自己的安装路径的bin目录即可。
    在cmd检查安装是否成功
    sonar-scanner -v,给出的版本信息如下图,这个表示已经安装成功了。


    image.png

    配置sonar-scanner

    在安装目录配置文件,这里我的环境是在D:\DevEnvironment\sonar-scanner-4.7.0.2747-windows\conf目录下的sonar-scanner.properties里面修改一些配置
    文件内容可以做如下调整:

    # 这里其实填的是sonarqube服务端的地址,如果是本地的话可以填如下信息就可以了
    sonar.host.url=http://localhost:9000 
    
    #----- Default source code encoding 
    sonar.sourceEncoding=UTF-8
    

    sonar-project.properties

    我们为了通过sonar-scanner扫描项目中代码,需要在项目的根目录创建一个配置文件sonar-project.properties

    # 项目的key唯一不重复即可 
    sonar.projectKey=sonarScannerTest 
    # 项目的名字 
    sonar.projectName=sonarScannerTest 
    # 项目的版本 
    sonar.version=1.0 
    # 需要分析的源码的目录,多个目录用英文逗号隔开 
    sonar.sources=src 
    # sonarQube扫描的对象是.class而不是.java文件 
    sonar.java.binaries=target/classes 
    # 解析的开发语言,如果需要解析其他语言,需要下载对应的插件 
    sonar.language=java 
    #编码格式 
    sonar.sourceEncoding=UTF-8
    

    扫描项目

    在配置好sonar-project.properties文件后,就可以

    首先执行mvn打包命名,如果已经编译过有了class文件后就可以跳过这一步
    mvn clean package 
    
    上传代码,做质量检查
    sonar-scanner
    

    执行成功的话在本地的地址http://localhost:9000/projects上可以看到执行的结果:

    image.png
    如果在项目的根目录下无法创建 sonar-project.properties 文件,有几种替代方法:
    可以通过命令行直接指定属性:
    sonar-scanner -Dsonar.projectKey=myproject -Dsonar.sources=src1
    

    属性 project.settings 可用于指定项目配置文件的路径(该选项与该sonar.projectBaseDir属性不兼容)。

    sonar-scanner -Dproject.settings=../myproject.properties
    

    sonar.projectBaseDir从 SonarScanner 2.4 开始,可以通过属性设置要分析的项目的根文件夹。sonar-project.properties如果sonar.projectKey未在命令行中指定,此文件夹必须包含文件。可以在此项目配置文件中或通过命令行参数定义其他分析参数。

    相关文章

      网友评论

          本文标题:SonarQube之SonarScanner使用

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