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 文件的主要内容,如果未能解决你的问题,请参考以下文章
尝试在 VSTS 的 YAML 构建模板中添加 SonarQube - SonarAnalysis 任务作为构建任务
代码覆盖率:.NET 代码覆盖率和 SonarQube VSTS 集成
SonarQube,TFS 2015 Vnext build -错误:JAVA_HOME 存在但不指向有效的 Java 主文件夹。在那里找不到“\bin\java.exe”文件