SonarScanner有效检查代码质量

发表于:2022-5-31 09:49

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:BUG弄潮儿    来源:稀土掘金

分享:
  1. sonarQube与SonarScanner的关系
  sonar 是一个用于代码质量管理的开放平台,支持WindowsLinux、Mac。通过插件机制,Sonar 可以集成不同的测试工具,代码分析工具以及持续集成工具,与持续集成工具不同,Sonar 并不是简单地把不同的代码检查工具结果直接显示在 WEB页 面上,而是通过不同的插件对这些结果进行再加工处理,通过量化的方式度量代码质量的变化,从而可以方便的不同规模和种类的工程进行代码质量管理。
  2. 安装SonarScanner
  在安装 SonarScanner 之前,需要先安装 jdk(至少 1.8 及以上版本)。
  下载SonarScanner
  https://docs.sonarqube.org/latest/analysis/scan/sonarscanner/
  
  下载完后,是一个 zip 压缩包。直接解压到目标目录即可,这里解压到
  C:\jenkins\sonar-scanner-4.7
  
  配置环境变量
  SONAR_SCANNER_HOME
  SONAR_SCANNER_HOME=C:\jenkins\sonar-scanner-4.7
  
  PATH
  PATH=%PATH%;C:\jenkins\sonar-scanner-4.7\bin
 
  打开cmd命令行,使用如下命令可以检查是否安装成功
  sonar-scanner --version
 
  3. SonarScanner配置文件说明
  找到 conf/sonar-scanner.properties 配置文件。大致内容如下:
  #Configure here general information about the environment, such as SonarQube server connection details for example
  #No information about specific project should appear here
  #----- Default SonarQube server
  #sonar.host.url=http://localhost:9000
  #----- Default source code encoding
  #sonar.sourceEncoding=UTF-8

  其中 sonar.host.url 配置项是 SonarQube 服务器的地址,根据具体情况配置。先安装如下配置
  sonar.host.url=http://127.0.0.1:9000
  sonar.sourceEncoding=UTF-8

  即 SonarQube ?服务器安装在本机,端口是 9000。
  4. 项目配置
  假设需要扫描的项目是:
  C:\jenkins\SpringBoot_v2
  
  扫描其中的 src 目录:
  在 C:\jenkins\SpringBoot_v2 添加一个 sonar-project.properties 文件。配置文件模板如下:
  # must be unique in a given SonarQube instance
  sonar.projectKey=my:project
  # --- optional properties ---
  # defaults to project key
  #sonar.projectName=My project
  # defaults to 'not provided'
  #sonar.projectVersion=1.0
  # Path is relative to the sonar-project.properties file. Defaults to .
  #sonar.sources=.
  # Encoding of the source code. Default is default system encoding
  #sonar.sourceEncoding=UTF-8

  配置项说明:
  ·sonar.projectKey:在 sonarQube 服务器上的实例键名;必须是唯一的,不可重复相同
  · sonar.projectName:在 sonarQube 服务器上的项目名称
  · sonar.projectVersion:项目版本号,可以不指定
  · sonar.sources:指定源代码目录,可以指定扫描目录。填写sonar-project.properties文件所在目录的相对路径
  如图,sonar-project.properties 文件在 C:\jenkins\SpringBoot_v2想要扫描 src 目录,就直接填写
  sonar.sources=src

  sonar.sourceEncoding:编码格式指定。
  配置如下:
  sonar.projectKey=SpringBoot_v2:1.0
  sonar.projectName=SpringBoot_v2
  sonar.projectVersion=1.0
  sonar.sources=src
  sonar.sourceEncoding=UTF-8

  5. 进行扫描
  如果安装了 sonarQube 服务器就可以进行静态代码扫描了。目前没有安装的情况下,进入目录。
  C:\jenkins\SpringBoot_v2
  
  在 cmd 命令行执行命令。
  sonar-scanner
  
  出现以下错误:

  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号