この前の現場では手動でビルドし、配布していたせいでヒューマンミスが多くありました。その時もJenkinsのような存在も知っていて自動化について考えたことがあります。結局、私を含め、改善しようというみんなの意識が低くそのまま退場した経験があります。今、勤めている現場はJenkinsをすでに導入しているし、積極的に自動化、効率化に力を入れているため、少し手を触れる機会がありました。個人的にも勉強してCI導入をやってみたいですが、まずは関連キワードをまとめてみました。
CIサーバー
Jenkins
ブリド、配布の自動化。無料で使えるし、様々なプラグインが存在。
CI
fastlane
iOSに関するいろいろなプロセスを自動化してくれる。
fastlane
前提条件
- テスト環境などがある現場であれば接続環境ことにビルドスキマを用意する。
- bundlerを利用してcocoapodsとfastlaneを固定する(バージョン別に依存関係をなくすため)
bundler
bundleバージョンを管理してくれる。
http://qiita.com/windhorn/items/794f3ed50a61bf064f62
lane
fastlaneでは一つのプロセスをlaneと呼ぶ。
プロビジョンイング取得、証明証更新
match
証明証、プロビジョンイングファイルの配信、更新、取得を自動化
https://github.com/fastlane/fastlane/tree/master/match
UnitTest実行
scan
UnitTestを定期的に行う。結果はhtmlに吐き出す。
deploygateへ配布
https://deploygate.com/?locale=ja
(Jenkinsバッチで設定可能。便利)
Testflightへ配布
pilot
https://github.com/fastlane/fastlane/tree/master/pilot
iTunesConnectへ配布
Deliver
https://github.com/fastlane/fastlane/tree/master/deliver
CI導入前に事前作業
- Mac mini ?!
- bundler導入
- APIサーバーことのスキマ設定
- fastlane設定
この投稿へのコメント