"SonarQube" 尝试在不存在的驱动器上创建缓存

"SonarQube" tries to create CACHE on non existing drive

我 运行 SonarQube 5.1.2Jenkins 服务器上使用 SonarQube 扫描仪Gradle 的插件。

现在我正在尝试为 Jenkins 服务器上的“:sonarqube”任务设置自动执行。我已经在我的机器上本地尝试了 gradle 项目,它工作得很好(所有测试数据都上传到 Sonar 服务器)。 gradle 脚本可以构建,':sonarqube' 任务也可以。现在通过 Jenkins 服务器执行任务会抛出以下异常:

失败:构建失败,出现异常。

问题是没有名为 "D:\" 的驱动器。有什么办法可以更改 SonarQube 中缓存文件夹的目录。我的 SONAR_USER_HOME 设置为 "C:.jenkins\sonar-cache" 但文件夹仍为空。

终于发现漏洞了!由于事实上,以 SYSTEM 用户在本地执行 :sonarqube 任务仍然成功,事实证明该错误来自 Jenkins 服务器本身。

缓存目录由SONAR_USER_HOME变量定义。问题是,我的公司有一个主服务器和一个从 Jenkins 服务器。 Jenkins 大师将 SONAR_USER_HOME 定义为 D:\sonar-work\user.home\

因此,无论 Windows 中的环境变量或任务本身(在 Jenkins 配置中)已经存在什么配置,:sonarqube 任务都被强制使用主配置。

通过为从 Jenkins 服务器添加全局环境变量,问题得到解决。