TeamCity SonarScanner:是否可以跨两个单独的构建配置使用MSBuild?

TeamCity SonarScanner:是否可以跨两个单独的构建配置使用MSBuild?,msbuild,sonarqube,teamcity,dotcover,Msbuild,Sonarqube,Teamcity,Dotcover,我目前正在尝试利用MSBuild SonarScanner功能将NUnit测试结果和dotcover覆盖率发送到我的SonarQube实例。我们现在设置(工作)的方式是三种独立的构建配置,都在同一个代理上运行: CI构建:使用TeamCity集成运行SonarScanner开始、解决方案构建和SonarScanner结束步骤 测试:运行所有NUnit测试,并编译dotcover报告,将其作为工件发布 SonarQube报告:运行SonarScanner开始,再次构建解决方案,将dotcover报

我目前正在尝试利用MSBuild SonarScanner功能将NUnit测试结果和dotcover覆盖率发送到我的SonarQube实例。我们现在设置(工作)的方式是三种独立的构建配置,都在同一个代理上运行:

  • CI构建:使用TeamCity集成运行SonarScanner开始、解决方案构建和SonarScanner结束步骤
  • 测试:运行所有NUnit测试,并编译dotcover报告,将其作为工件发布
  • SonarQube报告:运行SonarScanner开始,再次构建解决方案,将dotcover报告转换为html表单,最后结束SonarScanner运行程序
  • 显然,两次构建解决方案远远不是最优的,但是我找不到一种不同的方式将所有信息发送到SonarQube,同时也能够分离构建和测试步骤。同时,打包所有的构建和测试步骤并不是首选,因为我希望开发人员能够在构建中获得结果,而无需等待30多分钟测试才能完成

    因此,有没有一种方法可以让SonarQube报告MSBuild,同时仍然保持三个独立构建配置的突破,而不是每次开始和结束SonarScanner runner时都构建解决方案?

    我已经尝试过的事情:

    • 将CI生成中的.sonarqube目录发布为工件,以供以后在sonarqube报告步骤中使用(试图伪造msbuild,以为它是在同一步骤中生成的)
    • 运行SonarScanner在SonarQube报告步骤中开始和结束,而不运行内置程序
    • 强制所有三个步骤在同一工作目录中运行
    PetrT对这个问题的回答意味着这是可能的,但除此之外,他没有留下任何关于他是如何做到这一点的迹象