Sonarqube SonarScanner 忽略 React 项目中的 Javascript 文件
Posted
技术标签:
【中文标题】Sonarqube SonarScanner 忽略 React 项目中的 Javascript 文件【英文标题】:Sonarqube SonarScanner ignores Javascript files in a React project 【发布时间】:2020-02-27 06:35:09 【问题描述】:我在 Windows 10 操作系统中有一个 ReactJS Javascript 项目工作区,我想使用 SonarScanner 对其运行代码分析。我已设置并验证 SonarScanner 运行正常。我还在 SonarScanner/conf/sonar-scanner.properties 文件中设置了“sonar.host.url”。每次运行都能看到扫描结果。
然后我在我的工作区中添加了“sonar-project.properties”文件。这些是“sonar-project.properties”文件中的设置:
sonar-project.properties
# must be unique in a given SonarQube instance
sonar.projectKey=Project1
# --- optional properties ---
# defaults to project key
sonar.projectName=React Webapp
# defaults to 'not provided'
#sonar.projectVersion=1.0
# Path is relative to the sonar-project.properties file. Defaults to .
sonar.projectBaseDir=C:/code/model-group-webapp
sonar.sources=src
# Encoding of the source code. Default is default system encoding
#sonar.sourceEncoding=UTF-8
然后我运行 sonar-scanner 命令,如“$sonar-scanner -X”。
我可以在日志中看到已读取 javascript 文件,但这些文件的索引语言为“null”。
13:56:46.764 INFO: Source paths: src
13:56:46.765 INFO: Source encoding: windows-1252, default locale: en_US
13:56:46.768 INFO: Index files
13:56:46.794 DEBUG: 'src/App.js' indexed with language 'null'
13:56:46.796 DEBUG: 'src/App.test.js' indexed with language 'null'
13:56:46.796 DEBUG: 'src/config/config.js' indexed with language 'null'
13:56:46.798 DEBUG: 'src/EditPanel.js' indexed with language 'null'
13:56:46.800 DEBUG: 'src/Filter.js' indexed with language 'null'
13:56:46.800 DEBUG: 'src/index.css' indexed with language 'null'
13:56:46.805 DEBUG: 'src/index.js' indexed with language 'null'
13:56:46.805 DEBUG: 'src/logo.svg' indexed with language 'null'
13:56:46.810 DEBUG: 'src/serviceWorker.js' indexed with language 'null'
我还注意到 Javascript 不在日志中的可用语言中。它只显示了 Java:
14:29:42.889 INFO: Load project repositories (done) | time=125ms
14:29:42.990 DEBUG: Available languages:
14:29:42.993 DEBUG: * Java => "java"
在 Sonarqube 服务器中,该项目显示 0 个错误和漏洞,没有源代码。
这里缺少什么配置?
【问题讨论】:
【参考方案1】:如果你是从詹金斯那里跑的, 添加代码文件的srs路径,
sonar.language=js (optional)
sonar.sources=./src/main/TestApp
【讨论】:
以上是关于Sonarqube SonarScanner 忽略 React 项目中的 Javascript 文件的主要内容,如果未能解决你的问题,请参考以下文章
使用SonarQube+SonarScanner对Java代码进行扫描(Windows环境)
sonar+Jenkins注意的关键点或坑及sonar规则忽略或修改
SonarScanner 整合 SonarQube 代码质量检查完美方案
MySQL5.7+SonarQube7.4+SonarScanner4.2安装与使用