我们已经在Jenkins构建服务器上安装了Jave JRE 8并成功安装了Sonarqube,它从我们的本地IP:9000运行良好。 Jenkins项目似乎也设置正确,并且安装了SonarQube插件。
使用SonarQube设置MS Build项目时,在过程结束时出错。 Sonarqube开始分析步骤工作正常,构建本身工作正常,但是当我们添加SonarQube结束分析时,它会出错:
10:17:19 \Jenkins\tools\hudson.plugins.sonar.MsBuildSQRunnerInstallation\Sonar_Scanner_for_MSBuild\sonar-scanner-3.0.1.733\bin..\jre was unexpected at this time.
10:17:19 The SonarQube Scanner did not complete successfully
我们已经尝试相应地调整JAVA_HOME和PATH变量,但是如何修复却不知所措。
答案 0 :(得分:0)
我刚刚在跑步者切换到MSBuild扫描程序时,在Jenkins服务器上遇到了这个问题。我通过让jenkins插件安装SonarQube Scanner for MSBuild 2.3.0.527而不是最新版本2.3.1.554来修复它。
希望这有帮助!
答案 1 :(得分:0)
3.0版本包含对sonar-scanner.bat
的小改动,如果扫描仪的安装路径包括括号,则无法正确处理。安装扫描程序的用户(例如C:\Program Files (x86)\some\path
)将收到问题中的错误消息。错误消息本身是非常无意义的,因为在DOS中解释变量的方式,%SONAR_SCANNER_HOME%
的值括号使语法无效,因此DOS解释器完全混淆。
脚本中出现问题:
set use_embedded_jre=${use_embedded_jre}
if "%use_embedded_jre%" == "true" (
set JAVA_HOME=%SONAR_SCANNER_HOME%\jre
)
修复就是这样改变:
set use_embedded_jre=${use_embedded_jre}
if "%use_embedded_jre%" == "true" (
set "JAVA_HOME=%SONAR_SCANNER_HOME%\jre"
)
在整个变量赋值周围使用双引号非常重要,
不只是在=
运算符的右侧。
否则,如果%SONAR_SCANNER_HOME%
由于嵌入空格而已包含双引号,则脚本将无效。
这已在3.0.3中修复,可用于download。