flutter_fad_ci
Example of Continuous Delivery with Flutter, Firebase App Distribution, and Github Actions.
以下の手順で自分のプロジェクトでも使えるようになります。
下準備
- Apple Developer Program に参加
- 基本的にはチームに招待してもらう
- Firebase の登録
- https://console.firebase.google.com/u/9/?hl=ja から登録
- iOS アプリ, Android アプリの作成
- 登録時に google-service.json や SDK などの話など出てきますが、Firebase App Distribution を使うだけであれば無視しても OK です
- Firebase App Distribution の登録
- テストグループを作成
- CI で testers というグループに配信するようになっているので、testers というグループ名にする必要があります
- テスターをグループに追加
- .github/workflows を自分のプロジェクトにコピペ
- デフォルトでは master ブランチに PR をマージしたときにトリガーされるようになっています
- ios/ExportOptions.plist を自分のプロジェクトにコピペ
- teamID は Apple Developer のチーム ID
- provisioningProfiles の部分は 下の IOS_PROVISIONING_PROFILE_BASE64 を作る過程で作成したものに変更
- key が プロビジョニングプロファイルの App ID
- string が プロビジョニングプロファイル の Name
Github の Secrets を登録
- settings / secrets / actions から登録
以下設定項目
FIREBASE_TOKEN
firebase login:ci
を叩いて取得
IOS_FIREBASE_APP_ID
firebase の iOS アプリの ID
IOS_CERTIFICATE_BASE64
- Xcode の Preferences / Accounts / Manage Certificates まで移動
- + ボタンから
Apple Distribution
を選択 - 作成された Certificate を右クリックし、
Export Certificate
- 任意のパスワードを入力して Export
base64 XXX.p12 | pbcopy
でクリップボードにコピーし Secrets に貼り付け
IOS_CERTIFICATE_PASSWORD
IOS_CERTIFICATE_BASE64 を生成する際の Export 時のパスワード
IOS_PROVISIONING_PROFILE_BASE64
- https://developer.apple.com/account/resources/profiles/list からプロビジョニングプロファイルを作成
- type は Ad hoc
- Devices にテスターのデバイスを登録
- デバイスが未登録の場合は https://developer.apple.com/account/resources/devices/list から登録
- Certificates は IOS_CERTIFICATE_BASE64 生成時のもの
- ファイルをダウンロード
base64 XXX.movileprovision | pbcopy
でクリップボードにコピーし Secrets に貼り付け
ANDROID_FIREBASE_APP_ID
firebase の Android アプリの ID