通过 github 操作使用 fastlane 的 Firebase 应用程序分发?

Posted

技术标签:

【中文标题】通过 github 操作使用 fastlane 的 Firebase 应用程序分发?【英文标题】:Firebase app distribution using fastlane through github action? 【发布时间】:2021-10-20 03:14:07 【问题描述】:

我是 Fastlane 的新手,并在 Github 操作上使用 Firebase 应用分发来分发应用。

FastLane 文件

default_platform(:android)

platform :android do
 desc "Runs all the tests"
 lane :test do
  gradle(task: "test")
end

desc "Build and submit to Firebase App distribution Internal users"
lane :dev do

firebase_app_distribution(
  app: "some -app -ID",
  groups: "internal-testers",
  release_notes_file: "FirebaseAppDistributionConfig/dev_notes.txt",
)
end
end

Github 操作

name: Distribute

on:
 push:
   branches: [ master ]

jobs:
  distribute:
   runs-on: ubuntu-latest

steps:
  - uses: actions/checkout@v2

  - uses: actions/setup-ruby@v1
    with:
      ruby-version: '2.6'
  
  - name: Install bundle
    run: |
      bundle config path vendor/bundle
      bundle install --jobs 4 --retry 3     

  - name: Create Firebase Service Credentials file
    run: |
      echo "$FIREBASE_CREDENTIALS" > firebase_credentials.json.b64
      base64 -d -i firebase_credentials.json.b64 > firebase_credentials.json
    env:
      FIREBASE_CREDENTIALS: $ secrets.FIREBASE_CREDENTIALS 
      
  - name: Distribute app with ???? App Distribution ????
    run: bundle exec fastlane dev
    env:
      FIREBASE_APP_ID: $ secrets.FIREBASE_APP_ID     

每当我提交到主分支时,我都会收到“Couldn't find binary”。这是 GitHub 操作终端的附加屏幕截图

我什至将所有 secrets 添加到 GitHub 存储库。但是,如果我运行bundle exec fastlane dev。它工作正常,我可以看到新的 APK 已上传到 firebase 应用分发平台。

任何提示我在这里做错了什么?有没有办法我可以看到堆栈跟踪为什么 fastlane 找不到apk?

【问题讨论】:

你找到解决这个问题的方法了吗? 【参考方案1】:

您可以使用指定 apk 或 bundle 文件的绝对路径


desc "Build and submit to Firebase App distribution Internal users"
lane :dev do |options|

firebase_app_distribution(
  app: "some -app -ID",
  groups: "internal-testers",
  release_notes_file: "FirebaseAppDistributionConfig/dev_notes.txt",
  android_artifact_path: "type it here directly or 
                          pass it through terminal>>" options[:buildPath]
)
end

如果你想使用从终端传递它:

bundle exec fastlane dev buildPath:"must be the full path to the artifact!! something like this>../app/build/outputs/apk/dev/release/app-dev-release.apk"

【讨论】:

以上是关于通过 github 操作使用 fastlane 的 Firebase 应用程序分发?的主要内容,如果未能解决你的问题,请参考以下文章

Fastlane iOS 测试在本地通过,但不是来自 Jenkins

Fastlane- app自动编译打包多个版本上传到app store

无法通过 Fastlane Pilot 提交 TestFlight 构建

使用 fastlane 上传到 S3

Fastlane:无法使用“match”命令生成的 p12 文件

如何在子文件夹中运行 Fastlane 操作