未设置因 JAVA_HOME 失败的 CloudBuild fastlane 任务,并且在您的 PATH 中找不到 'java' 命令
CloudBuild fastlane task failing with JAVA_HOME is not set and no 'java' command could be found in your PATH
我正在尝试 运行 在 Google Cloud Build
中构建快速通道,但是我收到以下错误:
ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
我的第一步是安装 Android SDK,它工作正常,然后 运行 fastlane 命令,但是每次,无论我在 name
在 id:fastlane
之前我得到了相同的 Java 错误。我已经从 Cloud Builder and Community Cloud Builders github 存储库下载了 Android 和 Fastlane 图像,并将它们放在我们的 GCP 项目存储库中,因此每个图像都可以在 name
任务中访问。
steps:
# Android SDK
- name: 'gcr.io/$PROJECT_ID/android:29'
id: android
args: ["./gradlew", "assembleDebug"]
# run fastlane
- name: 'gcr.io/$PROJECT_ID/fastlane'
id: fastlane
args: ['distribute_staging', 'signingPassword:${_PASSWORD}', 'firebaseToken:${_TOKEN}']
请记住,每一步都是容器。它们一个接一个地加载,执行和卸载的任务。只有/workspace
目录从一步到另一步。
因此,在您的第一步中,您加载了一个 android 构建器,您可以构建 Java 东西,因为 Java 已安装在容器中。然后卸载
第二步是快车道。看看 Dockerfile,这是一张 ruby 图片。没有 Java 里面,因此,你的过程不能工作。你必须构建一个自定义工作器
- 或者从 fastlane 基础镜像安装Java
- 或者从 Java 图像(Android?)并在其上安装 Ruby 和 fastlane。
我正在尝试 运行 在 Google Cloud Build
中构建快速通道,但是我收到以下错误:
ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
我的第一步是安装 Android SDK,它工作正常,然后 运行 fastlane 命令,但是每次,无论我在 name
在 id:fastlane
之前我得到了相同的 Java 错误。我已经从 Cloud Builder and Community Cloud Builders github 存储库下载了 Android 和 Fastlane 图像,并将它们放在我们的 GCP 项目存储库中,因此每个图像都可以在 name
任务中访问。
steps:
# Android SDK
- name: 'gcr.io/$PROJECT_ID/android:29'
id: android
args: ["./gradlew", "assembleDebug"]
# run fastlane
- name: 'gcr.io/$PROJECT_ID/fastlane'
id: fastlane
args: ['distribute_staging', 'signingPassword:${_PASSWORD}', 'firebaseToken:${_TOKEN}']
请记住,每一步都是容器。它们一个接一个地加载,执行和卸载的任务。只有/workspace
目录从一步到另一步。
因此,在您的第一步中,您加载了一个 android 构建器,您可以构建 Java 东西,因为 Java 已安装在容器中。然后卸载
第二步是快车道。看看 Dockerfile,这是一张 ruby 图片。没有 Java 里面,因此,你的过程不能工作。你必须构建一个自定义工作器
- 或者从 fastlane 基础镜像安装Java
- 或者从 Java 图像(Android?)并在其上安装 Ruby 和 fastlane。