【问题标题】:Running SonarQube without TFS Build?在没有 TFS 构建的情况下运行 SonarQube?
【发布时间】:2015-11-30 13:48:16
【问题描述】:

我被要求将另一个项目 (C#) 集成到 SonarQube 中。我们使用 TFS 2013、SonarQube 5.1.2 和 Sonar.MSBuild.Runner 1.0。 Build process 模板是旧的(不支持 pre 和 post 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 中?

【问题讨论】:

  • 您在构建控制器/代理上有什么版本的 TFS?
  • 也是 TFS 2013。

标签: c# visual-studio-2013 msbuild sonarqube


【解决方案1】:

要从命令行使用 MSBuild SonarQube Runner,您必须:

  1. 准备环境:MSBuild.SonarQube.Runner.exe begin /k:SQ_project_key /n:SQ_project_name /v:SQ_project_version(选择任意 SonarQube 项目密钥、名称和版本)
  2. 运行您的构建:msbuild
  3. 上传分析结果:MSBuild.SonarQube.Runner.exe end

MSBuild SonarQube Runner 与 MSBuild 集成,并在构建项目时收集信息:您必须在 beginend 调用期间运行构建,否则此强制性信息将不可用并且 MSBuild SonarQube Runner 将您报告的消息失败。 MSBuild 集成与 MSBuild 版本 4.0、12 和 14 兼容。

关于与 TFS XAML 构建的集成,如果您使用的是自定义版本,则必须对其进行更多自定义以集成对 MSBuild SonarQube Runner 的 beginend 命令的调用。

使用默认构建定义模板在 TFS 2013 上开箱即用地支持代码覆盖,您只需要在启用覆盖的情况下运行测试。如果这对您不起作用,请参阅此链接以了解如何手动传递代码覆盖结果路径属性:http://docs.sonarqube.org/x/CoBh

【讨论】:

  • msbuild 如何知道运行 SonarQube.Integration.targets?
  • MSBuild.SonarQube.Runer.exe begin 期间,引导程序.targets 文件被部署到一个特殊的MSBuild ImportsBefore 文件夹,请参阅github.com/SonarSource/sonar-msbuild-runner/blob/1.1/… - 该引导程序.targets 文件将包括SonarQube.Integration.targets(如果它存在于当前目录.sonarqube 子文件夹。见github.com/SonarSource/sonar-msbuild-runner/blob/1.1/…
  • 如果由于某种原因您必须自定义此逻辑中的任何一个,请发布一个单独的问题:我们不希望发生这种情况,并且几乎在每个版本中都会更改这些目标文件。更改它们将使您将来更难更新版本,因此如果还没有这种情况,也许您的用例可以开箱即用。
  • 我没有自定义该逻辑。我正在使用Microsoft.Build api 构建一个解决方案,并意识到ImportsBefore 没有被选中。经过大量搜索和阅读,我了解到ImportsBefore/ImportsAfter是MSBuild特有的逻辑,API没有可比性。
  • 如何将 tfs 构建与在 http://localhost:9000 上本地运行的声纳集成?
猜你喜欢
  • 2017-05-19
  • 2014-01-18
  • 1970-01-01
  • 2023-03-26
  • 2015-03-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多