一尘不染

SonarQube无法从Jenkins项目获得git责任信息

jenkins

我配置了一个Jenkins Main Project
P来管理两个git仓库AB。这个主要项目P仅更新git来源,并对其工作空间中的来源进行声纳分析。

这是我的树文件夹。

{Jenkins Install Path} \ workspace \ P 
                                     |-- A 
                                         |-- .git/
                                         |-- all projects A files
                                     |-- B
                                         |-- .git/
                                         |-- all projects B files

当Jenkins对进行声纳分析时P,出现以下错误

SCM provider for this project is: git
2664 files to be analyzed
0/2664 files analyzed
Missing blame information for the following files:
(all files)

该错误是合乎逻辑的,因为SonarQube正在查找.git下方的文件夹{Jenkins Install Path} \ workspace \ P。它不存在。

我环顾互联网寻找解决方案,但没有找到答案。我正在使用Windows上安装的SonarQube 5.5。

您是否有使SonarQube使用我的配置的想法?

这种情况与Sonarqube不同:缺少以下文件的归咎信息,因为根本原因是我通过单个SonarQube分析使用了两个git文件夹提取。

我访问并阅读过几次的资料

SonarQube Git插件


阅读 280

收藏
2020-07-25

共1个答案

一尘不染

基于@CSchulz的答案,我使用SonarQube模块找到了解决方案

我将SonarQube配置为使用与我ABgit项目相对应的两个子模块。每个项目都将git模块的名称作为重要的projectBaseDir参数。

sonar.projectKey=P
sonar.projectName=P
sonar.projectVersion=4.0.0
sonar.binaries=.

sonar.cxx.includeDirectories=Common/Path
sonar.cxx.cppcheck.reportPath=cppCheckReport.xml # Reports are present in A and B forlder

#  2 modules definition
sonar.modules=A,B

# Module A
IHM.sonar.projectBaseDir=A
IHM.sonar.projectName=A
IHM.sonar.sources=.
IHM.sonar.cxx.includeDirectories=XXX

# Module B
Shares.sonar.projectBaseDir=B
Shares.sonar.projectName=B
Shares.sonar.sources=.
Shares.sonar.cxx.includeDirectories=XXX

我需要弄清楚一些配置,但是它可以工作,对我来说很好。

2020-07-25