fastlaneでCrashlytics Betaアップロードを自動化する方法
iOSアプリにfastlaneを導入し、Crashlytics Betaにアップロードする方法をまとめておきます。
fastlaneに関してとインストール方法はこちらの記事で紹介しました。 まだ読んでいない方は、是非読んでみてください!
fastlane/Fastfile
Fastfileでは、fastlaneで行いたい作業を記述します。 本記事では、Crashlytics Betaにバイナリをアップロードしてみます。 まずFabricの設定からAPI KeyとBuild Secretを取得しておきましょう。
before_allで環境変数に設定します。
before_all do # Crashlyticsの設定 ENV['CRASHLYTICS_API_TOKEN'] = "XXXXXXXXXX" # Fabricで取得したAPI Keyに入れ替えてください ENV['CRASHLYTICS_BUILD_SECRET'] = "XXXXXXXXXXXXXXXXXXXX" # Fabricで取得したBuild Secretに入れ替えてください # ENV["SLACK_URL"] = "https://hooks.slack.com/services/..." cocoapods end
fastlane/Fastfileに以下のコードを追加します。
desc "Build and submit ExampleApp app on Crashlytics Beta" lane :crashlytics do cert sigh gym( scheme: "ExampleApp", configuration: "Release", clean: true ) crashlytics( api_token: ENV["CRASHLYTICS_API_TOKEN"], build_secret: ENV["CRASHLYTICS_BUILD_SECRET"], notes: "", notifications: true ) end
上記のコードを追加することで、fastlaneでcrashlyticsコマンドを実行できるようになります。
$ fastlane crashlytics
これでバイナリをCrashlytics Betaにアップロードすることができます。
Release Notesにコミットメッセージを追加
せっかくなので、Betaにアップロードする際にコミットメッセージをRelease Notesに追加したいと思います。
def change_log_since_last_tag # http://git-scm.com/docs/pretty-formats #return changelog_from_git_commits(pretty: '%h %s') end desc "Build and submit ExampleApp app on Crashlytics Beta" lane :crashlytics do cert sigh gym( scheme: "ExampleApp", configuration: "Release", clean: true ) crashlytics( api_token: ENV["CRASHLYTICS_API_TOKEN"], build_secret: ENV["CRASHLYTICS_BUILD_SECRET"], notes: change_log_since_last_tag, notifications: true ) end
「開発して、Crashlytics Betaにアップロードして、テスターに配布する」が自動化できました! これでデバッグ作業やテスターへの配布作業が格段に楽になりました。
こちらにfastlaneのサンプルがたくさんあるので参考にしてみてください! fastlaneを使って、iTunes Connectへバイナリをアップロードする方法はこちらの記事でを紹介しています。 fastlaneで快適開発ライフを送りましょう!