我被要求将另一个项目(C#)整合到SonarQube中。我们使用TFS 2013,SonarQube 5.1.2和Sonar.MSBuild.Runner 1.0。 构建过程模板是旧的(不支持Powershell前后脚本)并且是自定义的。 Visual Studio 2013无法编辑旧的构建过程模板。
我尝试只进行静态代码分析并使用start参数运行MSBuild.SonarQube.Runner,第二次使用end参数运行,而不在其间进行构建(代码覆盖对他们来说似乎并不重要)。但后来我收到错误"No ProjectInfo.xml files were found. Check that the analysis targets are referenced by the MSBuild projects being build"?
我有什么选择将此项目集成到SonarQube中?
答案 0 :(得分:1)
要从命令行使用MSBuild SonarQube Runner,您必须:
MSBuild.SonarQube.Runner.exe begin /k:SQ_project_key /n:SQ_project_name /v:SQ_project_version
(挑选任意SonarQube项目密钥,名称和版本)msbuild
MSBuild.SonarQube.Runner.exe end
MSBuild SonarQube Runner与MSBuild集成并在构建项目时收集信息:您必须在begin
和end
调用期间运行构建,否则此强制信息将无法使用并且MSBuild SonarQube Runner将失败并显示您报告的消息。 MSBuild集成与MSBuild版本4.0,12和14兼容。
关于与TFS XAML版本的集成,如果您使用的是自定义版本,则必须对其进行一些自定义,以便将调用集成到begin
和{{1} MSBuild SonarQube Runner的命令。
TFS 2013支持使用默认构建定义模板开箱即用的代码覆盖率,您只需要在启用覆盖范围的情况下运行测试。如果这对您不起作用,请参阅此链接,了解如何手动传递代码覆盖率结果路径属性:http://docs.sonarqube.org/x/CoBh