我正在尝试在Google Cloud Build中运行faSTLane构建,但是出现以下错误:



我的第一步是安装运行良好的Android SDK,然后运行faSTLane命令,但是每次,无论我在name之前在id:fastlane中做什么,都会遇到相同的Java错误。我已经从Cloud BuilderCommunity 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,因此您的进程无法正常工作。您必须建立一个自定义工作程序

  • 从faSTLane基本镜像中选择一个,然后在其上安装Java
  • 或者从Java镜像(Android?)并在其上安装Ruby和faSTLane。
  • 关于docker - 未设置失败的JAVA_HOME的CloudBuild faSTLane任务,并且在PATH中找不到 'java'命令,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/62312480/

    10-14 16:37
    查看更多