我按照"SonarQube .NET用户安装指南“(http://redirect.sonarsource.com/doc/sq-setup-guide-for-dotnet-users.html)的说明安装了一个SonarQube 5.1.2服务器,并与TFS 2012集成。尽管本文档描述了如何将SonarQube与TFS 2013年XAML构建和TFS 2015构建vNext集成,但我还是能够将其与TFS 2012 XAML构建进行某种程度的集成。以下是TFS 2012 XAML中的步骤序列。
C:\Builds\...\ClassLibrary3 to call MSBuild.SonarQube.Runner.exe begin ... (MSBuild SonarQube Runner 1.0.1) )C:\Builds\...\ClassLibrary3\ClassLibrary3.sln )MSBuild.SonarQube.Runner.exe end问题是,即使编译了多个VS解决方案,我也只能分析一个编译的VS解决方案。这是因为在调用MSBuild.SonarQube.Runner.exe和MSBuild时,工作目录必须是相同的。MSBuild活动的工作目录被设置为VS解决方案文件所在的位置,但是对于编译的每个VS解决方案,MSBuild.SonarQube.Runner.exe只能指定一个工作目录。有办法分析多个VS解决方案吗?我不认为有办法改变MSBuild活动的工作目录,是吗?谢谢。
发布于 2015-10-27 07:49:49
最好的方法是在SonarQube中为您的每个解决方案创建一个项目,并使用(商业)在服务器端执行所有这些项目的聚合,以提供全局视图。参见http://www.sonarsource.com/products/plugins/governance/portfolio-management/ &关于Nemo如何集成所有Apache项目,例如:http://nemo.sonarqube.org/dashboard/index?id=Apache
另一种方法是创建一个*.proj文件,该文件将包含所有要构建的其他项目。
我不推荐的另一种方法是为构建的每个解决方案调用MSBuild.SonarQube.Runner begin,然后将每个.sonarqube\out文件夹的内容映射到一个单独的文件夹(聚合),然后从该位置调用MSBuild.SonarQube.Runner end。
另一种方法是升级到TFS 2015,并检查其MSBuild任务的运行情况。
https://stackoverflow.com/questions/33356715
复制相似问题