1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

最新バージョンのdSYMアップロードをほぼ自動化する

Last updated at Posted at 2019-02-15

fastlaneのdownload_dsymsupload_symbos_to_crashlyticsを組み合わせれば,dSYMのダウンロードからアップロードまでを簡単に自動化できます.
ただし,bitcodeを有効にしている場合には,App Store Connect上での処理完了を待つ必要があります.

メール受信をトリガにする方法などもありますが,自分のチームではもう少しお手軽な方法で(ほぼ)自動化しているので,そのやり方を紹介します.

まずは以下のlaneを作成します.

Fastfile
lane :refresh_dsyms do |options|
  version = options[:version] || 'latest'

  download_dsyms(
    version: version
  )

  upload_symbols_to_crashlytics(
    api_token: ENV['CRASHLYTICS_API_TOKEN']
  )

  clean_build_artifacts
end

作成したlaneは以下のように使用します.

# 最新バージョンのdSYMをアップロード
$ fastlane refresh_dsyms

# 任意のバージョンのdSYMをアップロード
$ fastlane refresh_dsyms version:1.2.3

自分のチームでは,これらを以下のようなやり方で運用しています.

  1. 毎週,CI上で fastlane refresh_dsyms を実行し、最新バージョンのdSYMに更新
  • 毎週1回のペース(金曜に申請し、翌週リリース)で定期的にリリースをしているので、
    土曜0時に実行すれば最新版のdSYMに更新できる
  1. 非定期リリース(Hotfixなど)があれば,ローカルからバージョンを指定(= version: x.x.xを指定)してdSYMを更新

ローカルでの実行も混ざり得るのでもっといい感じの運用にしたいところではありますが,今のところ定期的なリリースサイクルを回せているので,手動での更新はほとんど必要ないです.

チームのスケジュールを考慮することで,完全自動化までは行かなくとも,それに近い結果を手軽得ることができます.

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?