带有dotnet核心的Sonarqube在命令行上工作正常但不是来自Jenkins

时间:2018-02-05 21:41:12

标签: jenkins msbuild sonarqube .net-core

我试图在Windows上使用SOnarQube MsBuild在Jenkins的.NET Core 2.0解决方案上启动Sonarqube。

当我从Jenkins工作区执行以下脚本时,它工作正常:

C:\SonarQube\bin\MSBuild.SonarQube.Runner.exe begin /k:XXXX.Campaigns /n:CI /v: /d:sonar.host.url=http://x.x.x.x:9000 /d:sonar.verbose=true /d:sonar.projectBaseDir="C:\Program Files (x86)\Jenkins\workspace\CI"
dotnet clean
dotnet build
C:\SonarQube\bin\MSBuild.SonarQube.Runner.exe end

但是当我从Jenkins执行相同的命令时,我收到了这条消息:

  

SonarQube MSBuild集成失败:SonarQube是   无法收集有关您的项目的所需信息。   可能的原因:

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

我使用Jenkins 2.46.2 - MSBuild 15 - Sonarqube 6.7& Sonar MsBuild 4.0.2.892。我尝试使用Jenkins构建步骤,命令步骤,使用脚本执行命令步骤但没有成功。在经典的.Net 4.5.2项目中,它可以工作。

1 个答案:

答案 0 :(得分:4)

Jenkins作为本地系统用户运行。我将其更改为普通的Windows用户,它就可以了。 dotnet build没有使用Sonarqube专用目标。 谢谢你@Valeri!