GitHub ActionsでiOSアプリをCIする個人的ベストプラクティス by uhooi

iOSDC Japan 2020
採択
2020/09/20 14:40〜
Track B
レギュラートーク(40分)

GitHub ActionsでiOSアプリをCIする個人的ベストプラクティス

the_uhooi uhooi the_uhooi

みなさん、iOSアプリ開発でCIを行っていますか?
なかなかCI環境を構築する時間が取れず、行っていない人も多いと思います。

でもご安心ください!
iOSアプリのCI環境は、どのような規模や種類のアプリでもだいたい同じです。
一度構築すれば他でも使い回せます。

本トークではFastlaneやCIサービス独自の機能をできる限り使わず、スクリプトベースでCI環境を構築する方法を紹介します。
そのため、どのようなCIサービスを使っていても取り入れやすいです。

【アジェンダ】
・CIの概要とメリット
・ライブラリのセットアップ・ビルド・単体テストを実行するスクリプトの作成(Makefile)
・ビルド・単体テストを実行するCIの構築
・★キャッシュを使ってCIの実行時間を短縮する
・★静的解析(SwiftLint)を実行するCIの構築
「★」はGitHub Actions独自の機能を使う

【想定する聞き手】
・iOSアプリ開発でCIしたことがない人
・CI環境の構築に苦戦している人

【ゴール】
・CIしたくなる
・CIの意味とメリットがわかる
・GitHub ActionsでiOSアプリをCIできる
・CIサービスにかかわらずiOSアプリをCIできる

【使っているツール・ライブラリ】
本トークでは以下のツールやライブラリを使います。
使っていなくても応用できるように説明しますが、知っているとトークを理解しやすいです。
・Mint
・Bundler
・Carthage
・CocoaPods
・XcodeGen
・SwiftLint
・xcpretty

本トークを聞いて、実際にCI環境を構築してくださると嬉しいです!