当前位置: 首页 > 面试题库 >

具有dotnet核心的Sonarqube在命令行上可以正常运行,但不能在Jenkins上运行

曹奇文
2023-03-14
问题内容

我正在尝试使用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

但是,当我从詹金斯执行相同的命令时,我得到了以下消息:

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

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

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


问题答案:

Jenkins以本地系统用户身份运行。我将其更改为普通的Windows用户,并且成功了。dotnet构建未使用Sonarqube专用目标。谢谢@Valeri!



 类似资料: