GitLab CI:无法设置JAVA_HOME

时间:2016-05-09 10:30:14

标签: ubuntu-14.04 gitlab-ci gitlab-ci-runner

我正在运行带有Ubuntu 14的git-lab服务器我试图在git-lab Ci上编译一个版本但是由于某些原因我一遍又一遍地得到同样的错误:

ERROR: JAVA_HOME is set to an invalid directory: /usr/lib/jvm/java-7-openjdk-amd64/jre Please set the JAVA_HOME variable in your environment to match the location of your Java installation.

无论我如何改变JAVA_HOME的路径,它总是相同的结果。我在JVM文件夹中有4个文件夹:

java-8-oracle
java-7-openjdk-amd64
java-1.7.0-openjdk-amd64
default-java

但是无论我设置哪个目录,它的路径总是相同的结果。

这是我的.gitlab-ci.yml文件:

 before_script:
- export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64/jre
- export ANDROID_HOME="/opt/android-sdk"
- chmod +x gradlew

dev:  
  script:
  - ./gradlew assembleDebug

导致此错误的原因是什么?

3 个答案:

答案 0 :(得分:1)

尝试将var _ = require('lodash');更改为:

.gitlab-ci.yml

答案 1 :(得分:1)

您可以尝试从 chmod +x gradlew 中删除 before_script 并将其移至主 script

before_script:
- export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64/jre
- export ANDROID_HOME="/opt/android-sdk"

dev:  
  script:
  - chmod +x ./gradlew
  - ./gradlew assembleDebug

参考:https://about.gitlab.com/blog/2018/10/24/setting-up-gitlab-ci-for-android-projects/#comment-4440925341

答案 2 :(得分:0)

我知道这个问题可能已经解决。但是,这就是我的固定方法。

用例:

在我的3个环境(Dev,Staging和Prod)上更新Java之后,无论在Dev和Staging上都可以正常工作。但是,由于某些原因,负责生产部署的管道作业不断发送以下错误:“错误:JAVA_HOME设置为无效目录:C:/ Program Files / Java / jdk1.8.0_171。请在以下位置设置JAVA_HOME变量:您的环境以匹配Java安装位置。” 我的JAVA_HOME设置为正确的路径。

修复: 0.确保您正确设置了Java_Home。 Fir Windows用户,类似于C:/您的jdk根文件夹/(不添加/ bin文件夹)。 1.清除gitlab中的运行器缓存。 2.在您的部署服务器上重新启动gitlab-runner服务。

我希望这可以帮助其他人。