我试图将SonarQube(SonarCloud)实施到我们的开发管道中。我们正在使用TFS(内部部署),我们的项目只有一个存储库。在这个存储库中,我们有两个不同的应用程序,一个是.NET应用程序,另一个是javascript应用程序。
文件夹结构如下:
Cannot GET /
我们的构建定义(使用Pull Requests)步骤如下:
我在想第4步和第5步将分析我们的.NET和JS项目,最后,我会看到我们所有项目的完整报告。但是,当第4步完成后,它会自动上传JS项目的报告,当第5步完成它覆盖JS报告时,上传.NET项目的报告。
最后,只有.NET项目的报告/警告/技术债务等。因为第5步覆盖了第4步的结果。
如何配置这些步骤以便SOnarQube可以正确分析我们的JS和.NET项目?
答案 0 :(得分:2)
在撰写本文时,您所看到的行为是"设计",即使它不是非常直观。换句话说,您无法将扫描仪链接到MSBuild和扫描仪CLI。
只有从当前分析的解决方案中的项目引用时,MSBuild扫描程序才能扫描JavaScript代码(以及所有其他语言)。例如,如果您的WebApplication项目包含JS(或TS,Java,COBOL等)文件,则将对其进行分析。
当在当前分析的解决方案中未引用非.NET语言文件时,最好创建一个单独的SonarQube项目来存储Scanner CLI的分析结果。
我们知道这个限制,我们计划在不久的将来修复它,但是现在我不能承诺特定的日期。