sonarqube - 无法链接 VSTS 和 SonarQube - 在您的环境中找不到 JAVA_HOME

标签 sonarqube azure-devops azure-pipelines

对于我遇到的以下问题,我将不胜感激。

我有 3 个服务器,一个私有(private)构建服务器,一个 SonarQube 网络/应用程序服务器和一个 SonarQube 数据库服务器。

SonarQube 运行良好,我可以通过命令行成功运行 SonarQube,以使用来自构建服务器的项目代码质量填充 SonarQube 数据库。

我面临的问题是当我在 VSTS(Visual Studio Team Services)中使用 SonarQube 构建步骤并尝试自动化这些步骤时。

我在“完成分析并将结果上传到 SonarQube”步骤中收到以下错误:

错误:在您的环境中未找到 JAVA_HOME,并且 PATH 中不存在 Java 可执行文件。 请在您的环境中设置 JAVA_HOME 变量以匹配您的 Java 安装位置,或将“java.exe”添加到 PATH

在我的构建代理功能(在 VSTS 中)中,我添加了以下用户功能:

路径 - %JAVA_HOME%\bin JAVA_HOME - C:\Program Files\Java\jre1.8.0_101

Java 肯定安装在构建服务器上并且可以正常工作,因为我可以通过命令行运行 SonarQube 构建。不确定为什么 VSTS 看不到 JAVA_HOME。

提前致谢。

最佳答案

构建服务/代理仅在启动时获得能力。所以当你的系统环境改变后,比如环境变量改变,新软件安装,你需要重新启动构建服务/代理来刷新能力。当您重新启动构建服务器时,构建服务/代理会重新启动,这就是它起作用的原因。

关于sonarqube - 无法链接 VSTS 和 SonarQube - 在您的环境中找不到 JAVA_HOME,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39982379/

相关文章:

java - 通过ant的 Sonar 实现错误

security - 我们如何保护 VSTS 中的数据不被 API 访问?

azure-devops - 使用 API 以编程方式在 Azure DevOps Pipeline 中添加和更新测试

azure - MSDeploy 到 Azure Web 应用程序 : Could not connect to the remote computer using the specified process ("Web Management Service")

azure-devops - 如果特定文件已更改,合并或构建会失败吗?

c# - 如何使用 sonar.cs.msbuild.testProjectPattern

java - 在 <> 中使用对象名称,因为 new ArrayList<String> 是正确的,或者仅使用 <> 可以吗?

javascript - SonarQube 元素未通过 JavaScript 配置文件进行分析

azure-devops - VSTS 在拉取请求时构建变量

azure-devops - 是否可以在azure devops中禁用手动触发发布管道