VSTS SonarQube 找不到 TRX 文件

VSTS SonarQube cannot find TRX file

我正在使用 Visual Studio Team Services 执行自动构建,并使用 SonarQube 显示代码质量、覆盖率等。我还在使用私人托管的构建代理。

构建步骤全部成功,数据被处理并填充到 SonarQube,这很棒。但是,SonarQube 中没有显示代码覆盖率。查看 VSTS 中的日志后,我发现 SonarQube 正在与 VSTS 将 .trx 文件发布到的目录不同的目录中查找 .trx 文件(其中包含代码覆盖率)。

因此,当 VSTS 构建解决方案时,它会在此处创建测试结果文件:C:\agent_work\s\TestResults

但是 SonarQube 正在尝试使用来自这里的测试结果:C:\agent_work\TestResults

在构建服务器上,如果我手动将 .trx 文件复制到正确的位置,然后 运行 再次构建,代码覆盖率都可以正常工作并处理到 SonarQube。因此,问题肯定是 .trx 的发布位置与获取格式的位置不匹配。

我找不到更改发布位置或 SonarQube 源位置的方法。

请帮忙!

这是一个已知问题,将在下一个版本中修复。参见:https://jira.sonarsource.com/browse/SONARMSBRU-262.

我们刚刚公布了具有此修复的产品的 RC 版本,您可以尝试一下。参见 this thread