VSTS SonarQube 找不到 TRX 文件

Posted

技术标签:

【中文标题】VSTS SonarQube 找不到 TRX 文件【英文标题】:VSTS SonarQube cannot find TRX file 【发布时间】:2017-02-22 11:11:09 【问题描述】:

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

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

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

但 SonarQube 正在尝试使用此处的测试结果:C:\agent_work\3\TestResults

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

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

请帮忙!

【问题讨论】:

解决方法:我在 Visual Studio 测试SonarQube for MSBuild - 结束分析。此步骤只是将文件复制到 SonarQube 步骤正在查找它们的位置。因此,在复制文件步骤中,只需设置 Source Folder = TestResults、Contents = **、TargetFolder = ..\TestResults。并记得勾选清理目标文件夹。 这也是我的工作,我可以确认这是有效的 【参考方案1】:

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

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

【讨论】:

以上是关于VSTS SonarQube 找不到 TRX 文件的主要内容,如果未能解决你的问题,请参考以下文章

由于找不到分析配置文件,SonarQube 分析无法完成

如果SonarQube失败质量门,则VSTS构建失败

尝试在 VSTS 的 YAML 构建模板中添加 SonarQube - SonarAnalysis 任务作为构建任务

代码覆盖率:.NET 代码覆盖率和 SonarQube VSTS 集成

SonarQube,TFS 2015 Vnext build -错误:JAVA_HOME 存在但不指向有效的 Java 主文件夹。在那里找不到“\bin\java.exe”文件

Sonarqube 无法加载组件