はじめに
Firebaseを使ったiOSアプリのCI/CDを構築する上でGoogleService-Info.plistをBitriseのワークフローで取得させたく調べてみました。
困っていたこと
対象のiOSアプリのリポジトリはPublicとしているため、GoogleService-Info.plist
はリポジトリ内に保存できません(.gitignoreしています)
この状態でBitrise上でテストやリリースのワークフローを動かすとGitHubからcloneしたリポジトリにはGoogleService-Info.plist
が含まれてなく以下のようなエラーが発生します
❌ error: Build input file cannot be found: '/Users/vagrant/git/PadeLovers/GoogleService-Info.plist'. Did you forget to declare this file as an output of a script phase or custom build rule which produces it? (in target 'PadeLovers' from project 'PadeLovers')
対応したこと
基本的なやり方は公式ドキュメント通りにやっていけばよさそうでした。
BitriseのCode Signing & Files
タブからGoogleService-info.plist
を保存します
Bitrise.ymlを使っているのでGoogleService-info.plist
の取得ステップをBitrise.ymlの(buildの前処理の)適当な位置に追加しました
- file-downloader@1:
inputs:
- destination: $BITRISE_SOURCE_DIR/PadeLovers/GoogleService-Info.plist
- source: $BITRISEIO_GoogleService_Info_PadeLovers_URL
これで完了です🎉
おまけ
ちなみにGUIでワークフローを追加する場合はFile Downloaderを追加

参考