如何在Jenkins中为MSBuild设置声纳扫描器的本地模块目录?

时间:2017-07-24 15:52:59

标签: jenkins msbuild sonarqube sonarqube-scan

我的jenkins项目执行了2次检查,一次来自框架,另一次来自使用该框架的应用程序A.

我想在应用程序A上运行声纳扫描仪。

我在詹金斯有6个建设步骤

Execute Windows batch command : nuget.exe restore "%WORKSPACE%\Framework\branches\1.0.1.0\Framework.sln"

Execute Windows batch command : nuget.exe restore "%WORKSPACE%\AppUsingFramework\branches\v1.1.3\AppUsingFramework.sln"

Build a Visual Studio project or solution using MSBuild : build framework

SonarQube Scanner for MSBuild - Begin Analysis // HOW DO I SET THE FOLDER TO %WORKSPACE%\AppUsingFramework\branches\v1.1.3 ?

Build a Visual Studio project or solution using MSBuild : build the application
MSBuild Build File  : AppUsingFramework\branches\v1.1.3\AppUsingFramework.sln

SonarQube Scanner for MSBuild - End Analysis

我收到此消息:

  

SonarQube MSBuild集成失败:SonarQube无法收集有关您项目的必要信息。

     

可能的原因:

     
      
  1. 项目尚未建成 - 项目必须建立在开始和结束步骤之间
  2.   
  3. 已使用不受支持的MSBuild版本来构建项目。目前支持MSBuild 14.0以上
  4.   
  5. 开始,构建或结束步骤尚未从同一文件夹启动
  6.         

    生成声纳属性文件失败。无法完成SonarQube分析。

所以我怀疑在启动时我应该为声纳指定工作文件夹(%WORKSPACE%\ AppUsingFramework \ branches \ v1.1.3),我该怎么做?

我用:

詹金斯2.60.2

用于MSBuild 3.0.1.635的SonarQube扫描程序(从github自动安装)

MSBuild 15

1 个答案:

答案 0 :(得分:0)

通过删除不必要的构建框架步骤(它已经在应用程序中构建)并且仅通过指定AppUsingFramework.sln而没有路径,声纳扫描成功。