首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用Gitlab /CD将错误JAVA_HOME设置为Docker中的无效目录

使用Gitlab /CD将错误JAVA_HOME设置为Docker中的无效目录
EN

Stack Overflow用户
提问于 2022-06-17 10:44:55
回答 1查看 687关注 0票数 0

这是我第一次使用Gitlab CI/CD和Docker

我有一条有几个工作的小管道:

代码语言:javascript
运行
复制
before_script:
  - export GRADLE_USER_HOME=$(pwd)/.gradle
  - chmod +x ./gradlew
 
stages:
  - build

create common folder to store build:
  stage: build
  needs: []
  tags:
     - shell
  script:
    - mkdir popa
  artifacts:
    paths:
    - ./popa

 
get debug apk build:
  stage: build
  needs: [create common folder to store build]
  tags:
    - shell
  script:
    - ./gradlew app:assembleDebug
    - mv app/build/outputs/apk/debug/*.apk ./popa
  artifacts:
    paths:
    - ./popa

get release apk build:
  stage: build
  needs: [create common folder to store build]
  tags:
    - shell
  script:
    - ./gradlew app:assembleRelease
    - mv app/build/outputs/apk/release/*.apk ./popa
  artifacts:
    paths:
    - ./popa

get release aab build:
  stage: build
  needs: [create common folder to store build]
  tags:
    - shell
  script:
    - ./gradlew app:bundleRelease
    - mv app/build/outputs/bundle/release/*.aab ./popa
  artifacts:
    paths:
    - ./popa

get one folder build:
  stage: build
  tags:
    - shell
  needs: [get debug apk build, get release apk build, get release aab build]
  script:
    - echo "DONE"
  artifacts:
    paths:
    - ./popa

当我使用Shell执行器(使用macOS设置)时,一切都很好。但是,当我使用Docker时,我会得到以下错误:

代码语言:javascript
运行
复制
ERROR: JAVA_HOME is set to an invalid directory: /Users/qfunz/.sdkman/candidates/java/current
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation.

我在我的macOS里查过这个

代码语言:javascript
运行
复制
echo $JAVA_HOME 

拿着这个

代码语言:javascript
运行
复制
/Users/qfunz/.sdkman/candidates/java/current

因此,我在Gitlab /CD设置-变量(JAVA_HOME =/Users/qfunz/..sdkman/候选人/java/current)中添加了这一内容。

当我跑进码头时

代码语言:javascript
运行
复制
java

我什么也得不到。我知道Docker有个人文件系统,但我不知道如何解决这个问题

EN

回答 1

Stack Overflow用户

发布于 2022-06-17 11:17:26

尝试使用一个定制的码头images(jangrewe/gitlab-ci-android),这意味着用于android构建。

代码语言:javascript
运行
复制
image: jangrewe/gitlab-ci-android

cache:
  key: ${CI_PROJECT_ID}
  paths:
    - .gradle/

before_script:
  - export GRADLE_USER_HOME=$(pwd)/.gradle
  - export JAVA_HOME="/usr/bin/java"
  - chmod +x ./gradlew
stages:
.............
.............
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72658129

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档