这是我第一次使用Gitlab CI/CD和Docker
我有一条有几个工作的小管道:
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时,我会得到以下错误:
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里查过这个
echo $JAVA_HOME
拿着这个
/Users/qfunz/.sdkman/candidates/java/current
因此,我在Gitlab /CD设置-变量(JAVA_HOME =/Users/qfunz/..sdkman/候选人/java/current)中添加了这一内容。
当我跑进码头时
java
我什么也得不到。我知道Docker有个人文件系统,但我不知道如何解决这个问题
发布于 2022-06-17 11:17:26
尝试使用一个定制的码头images(jangrewe/gitlab-ci-android),这意味着用于android构建。
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:
.............
.............
https://stackoverflow.com/questions/72658129
复制相似问题