问题描述
我已经设置了我们的CI工具(Teamcity),以便每次在Github中进行拉取请求时运行项目的SonarQube预览分析.为了测试一切正常,我在提交拉取请求之前向代码库添加了一些问题.预览分析运行时没有任何问题,并且拉取请求随着摘要中的更新而更新:
" sonarqube - SonarQube报道没有问题 "
问题是我在代码库中引入的新问题都没有写成拉取请求的内联注释.
调试步骤和日志
我第二次运行预览分析,将sonar.verbose属性设置为true,将日志级别设置为DEBUG.
我用来从Teamcity使用MSBuild Runner执行分析的命令如下:
MSBuild.SonarQube.Runner.exe begin /k: /n:"" /v:%build.number% /d:sonar.analysis.mode=preview /d:sonar.github.oauth="" /d:sonar.github.pullRequest="" /d:sonar.github.repository="/" /d:sonar.issuesReport.console.enable=true /d:sonar.verbose=true
当分析运行时,我可以从日志中看到SonarQube正在拾取问题(参见下面的日志).因此,似乎后期作业Github Pull Request Issue Publisher存在问题.以下是日志的摘录:
Working dir: D:\BuildAgent\work\\.sonarqube\out\.sonar
[08:57:01][Step 8/11] INFO: Source encoding: UTF-8, default locale: en_US
[08:57:01][Step 8/11] INFO: Sensor XmlFileSensor
[08:57:01][Step 8/11] INFO: Sensor XmlFileSensor (done) | time=0ms
[08:57:01][Step 8/11] INFO: Load server issues
[08:57:01][Step 8/11] INFO: Load server issues (done) | time=117ms
[08:57:01][Step 8/11] INFO: Performing issue tracking
[08:57:01][Step 8/11] INFO: 552/552 components tracked
[08:57:01][Step 8/11] INFO: Console report is deprecated. Use SonarLint CLI to have local reports of issues
[08:57:01][Step 8/11] INFO:
[08:57:01][Step 8/11]
[08:57:01][Step 8/11] ------------- Issues Report -------------
[08:57:01][Step 8/11]
[08:57:01][Step 8/11] +15 issues
[08:57:01][Step 8/11]
[08:57:01][Step 8/11] +4 blocker
[08:57:01][Step 8/11] +1 critical
[08:57:01][Step 8/11] +10 major
[08:57:01][Step 8/11]
[08:57:01][Step 8/11] -------------------------------------------
[08:57:01][Step 8/11]
[08:57:01][Step 8/11]
[08:57:01][Step 8/11] INFO: ANALYSIS SUCCESSFUL
[08:57:01][Step 8/11] INFO: Executing post-job GitHub Pull Request Issue Publisher
[08:57:02][Step 8/11] INFO: ------------------------------------------------------------------------
[08:57:02][Step 8/11] INFO: EXECUTION SUCCESS
[08:57:02][Step 8/11] INFO: ------------------------------------------------------------------------
[08:57:02][Step 8/11] INFO: Total time: 35.242s
[08:57:02][Step 8/11] INFO: Final Memory: 48M/172M
[08:57:02][Step 8/11] INFO: ------------------------------------------------------------------------
[08:57:03][Step 8/11] The SonarQube Scanner has finished
[08:57:03][Step 8/11] 08:57:03.022 Creating a summary markdown file...
[08:57:03][Step 8/11] 08:57:03.023 Analysis results: http:///dashboard/index/
[08:57:03][Step 8/11] Post-processing succeeded.
[08:57:03][Step 8/11] Process exited with code 0
Github设置
我在我的用户上添加了一个个人访问令牌,用作sonar.github.oauth属性的输入.我的用户拥有相关回购的所有权限.令牌已被赋予"public_repo"范围,以便能够根据文档编写内联注释并更新拉取请求- 只有前者永远不会完成.
插件和工具的版本
SonarQube 5.6
C#插件(版本5.3.2)
MSBuild Runner插件(1.1版)
Github插件(1.3版)
TeamCity(版本9.1.7)
Github Enterprise(2.7版)
我错过了什么?我还没有尝试过的一件事是创建一个专门的技术Github用户,而不是使用我自己的用户和个人访问令牌.这可能是造成这个问题的原因吗?