我们已经在Jenkins构建服务器上安装了Jave JRE 8,并成功地安装了Sonarqube,并且它在本地IP:9000上运行良好。Jenkins项目似乎也被正确设置,并且安装了SonarQube插件。
当使用SonarQube设置MS构建项目时,它会在流程结束时出错。Sonarqube分析步骤工作良好,构建本身运行良好,但是当我们添加SonarQube end分析时,它会出错:
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变量,但不知道如何修复。
发布于 2017-04-26 19:24:52
当我从运行程序切换到MSBuild扫描仪时,我在Jenkins服务器上遇到了这个问题。我通过让jenkins插件安装用于SonarQube 2.3.0.527的MSBuild扫描程序来修复它,而不是最新版本2.3.1.554。
希望这能有所帮助!
发布于 2017-05-22 09:41:42
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中得到修正,并可用于下载。
https://stackoverflow.com/questions/43631528
复制相似问题