MacProとfastlaneでiOSアプリのCD環境を構築する
最近MacPro Late 2013を購入しました。
はいそうです、Ryzenで自作したほうがスペックいいよねープークスクス と煽られたりしている、あのMacProです。
もともと、ほぼ手動でDistribution用のipaにビルドし、もろもろ整えてapp storeに上げることをしていたのですが、
最近 Fastlane を導入しまして、slackからコマンドでJenkinsのジョブを開始させ、fastlaneを行う、のような運用に変更しました。
しかし、Macmini Late2012(SSD換装済)ですべてを行っていたので、耐えられないほどビルドに時間を要していました。
皆さんはビルドを待っている間、何をしていますか?Twitter、、最近はMastodonですか?それとも、ちょっとコンビニ行ってくるわーって感じですか?
残念ながらチョーっとコンビニ行ってくる、なんて言ってられないほど時間がかかっていました。
なお、ビルドするアプリは、ライブラリを15個ぐらい、アプリ本体は1150ファイル程度のソースファイルが存在する、そこそこ大規模なアプリです。
Before
+------+-------------------------------------+-------------+
| fastlane summary |
+------+-------------------------------------+-------------+
| Step | Action | Time (in s) |
+------+-------------------------------------+-------------+
| 1 | Verifying required fastlane version | 0 |
| 2 | default_platform | 0 |
| 3 | slack | 0 |
| 4 | cocoapods | 37 |
| 5 | slack | 0 |
| 6 | slack | 0 |
| 7 | gym | 1027 |
| 8 | slack | 1 |
| 9 | slack | 0 |
| 10 | deliver | 219 |
| 11 | slack | 1 |
| 12 | slack | 0 |
| 13 | clean_build_artifacts | 0 |
| 14 | slack | 0 |
| 15 | slack | 0 |
+------+-------------------------------------+-------------+
なお、ここの gym
と書いてある部分がビルドと署名にかかっている時間です。
1027秒…つまり、 約17分 です。ありえねえええーーーーーー
というわけで、MacProの購入検討を始めたのですが、自分のググり力が低いのか、全くMacProを用いたときの速度検証などがありませんでした。 きっと誰も購入してないんでしょうね
After
というわけで、これが変更後です。
まだ deliver
はしていないので未測定です。
+------+---------------------+-------------+
| fastlane summary |
+------+---------------------+-------------+
| Step | Action | Time (in s) |
+------+---------------------+-------------+
| 1 | Verifying required | 0 |
| | fastlane version | |
| 2 | default_platform | 0 |
| 3 | cocoapods | 10 |
| 4 | gym | 215 |
+------+---------------------+-------------+
215秒、つまり 約3.5分 です。何この速度の違いいいいいい
はい、ビルド時は全コア使い切ってくれています。うれしい!
何が嬉しいか
17分も待っていると、何をしないといけないのかすっかり忘れてしまいます。
できるだけタスクとタスクの間に時間を開けないほうがいいんです。いわゆるコンテキストスイッチってやつですね。それが短くなるだけでも、かなりの生産性を向上できると思います、、みたいなことを言った気がします。
結論
- MacProにすることによってビルド時間が1/5になった
- コンテキストスイッチが起きにくい環境が作れた
- たった20万程度でCD環境を劇的に改善できた
ビルドが遅い、CI/CDが遅いと嘆いている皆さん、上記データが参考になれば幸いです。
Author And Source
この問題について(MacProとfastlaneでiOSアプリのCD環境を構築する), 我々は、より多くの情報をここで見つけました https://qiita.com/kpkpkp/items/a608e738d00fa2b2bb23著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .