我正在尝试在Google Cloud Build
中运行faSTLane构建,但是出现以下错误:
我的第一步是安装运行良好的Android SDK,然后运行faSTLane命令,但是每次,无论我在name
之前在id:fastlane
中做什么,都会遇到相同的Java错误。我已经从Cloud Builder和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已安装在容器中。然后卸载
第二步是FaSTLane。看Dockerfile,它是一个 ruby 图像。内部没有Java,因此您的进程无法正常工作。您必须建立一个自定义工作程序
关于docker - 未设置失败的JAVA_HOME的CloudBuild faSTLane任务,并且在PATH中找不到 'java'命令,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/62312480/