GitHub Actionsで実現するiOSアプリの申請アップロードを自動化
株式会社助太刀 / 喜多弦樹
チームリーダー / モバイルエンジニア / 従業員規模: 101名〜300名 / エンジニア組織: 11名〜50名
利用プラン | ツールの利用規模 | 事業形態 |
---|---|---|
GitHub Team | 11名〜50名 | B to C C to C |
利用プラン | GitHub Team |
---|---|
ツールの利用規模 | 11名〜50名 |
事業形態 | B to C C to C |
導入の背景・解決したかった問題
導入背景
ツール導入前の課題
GitHub Actionsでリリース申請作業自動化の前までは、メンバーごとにビルド環境が違ってしまうと、予期せぬ問題が発生してしまう懸念があり、iOSリーダーのみがリリース申請用アプリのarchiveを行っている状況でした。 リリース申請時にはローカルのXcodeでリリース申請用のアプリをarchiveし、手動でアップロードしていました。その結果、ビルド中〜リリース申請までの5-15分間は開発タスクを行うことができない状態でした。
どのような状態を目指していたか
- メンバーの誰もがリリース申請用アプリを作成できること
- リリース申請作業を自動化し、工数削減を行うこと
比較検討したサービス
- Xcode Cloud
- fastlane
比較した軸
- ワークフローの構築が簡単な点
- GitHubとの親和性
選定理由
他の用途でも GitHub Actions を利用しており、ワークフローを統一できるため、GitHub Actions を採用しました。 Xcode Cloudも検討したが、新たに料金形態を計算する必要があり、どちらでも目的が達成できるため採用を見送りました。
導入の成果
どのような成果が得られたか
2週間に1度のリリース申請作業が自動化されたことにより、工数が5-15分確保できるようになりました。
導入時の苦労・悩み
リリース申請作業を自動化するにあたり、証明書周りでいくつか躓きました。 もしチーム規模が大きくなく、特にこだわりがない場合は、ビルド設定で自動署名(Automatically manage signing)を有効にすると作業がスムーズに行くのでおすすめです。
導入に向けた社内への説明
上長・チームへの説明
費用が大きく上がるわけではなく、新たに稟議申請等は必要がなかったので、リリース申請作業自動化環境を構築する報告だけで承諾をもらえました。
活用方法
よく使う機能
iOSチームではGitHubActions自体は以下の用途で使用してます。
- PR作成時に自動でレビュアーを設定する
- PR作成後に週末を跨ぐ際にweekendラベルを自動で付与
- 未レビューのPRに対して、レビュアーに催促をSlack通知で行う
- 検証環境をアプリの自動配布
- リリース申請作業の自動化
ツールの良い点
- 関連する記事が多く、導入が簡単
- YAML形式なのでメンテナンスも容易
- YAML形式なのでAIとの親和性も高い
- 一度作成してしまえば後は自動でやってくれる
ツールの課題点
- 料金形態が難しい
- ワークフローのテスト実行をローカルで容易に行えないので、実際に使うまで時間がかかる
ツールを検討されている方へ
GitHubをご利用ならGitHub Actionsで自動リリースを進めるのが良さそうです。 こちらのブログを参考にすれば自社の環境に合う形に仕上げられると思います。
今後の展望
弊社ではCI環境としてXcode Cloudを使ったUITestを構築中です。 ある程度完成したらCD環境もXcode Cloudに移行しても良いかなーとは思ってます。
株式会社助太刀 / 喜多弦樹
チームリーダー / モバイルエンジニア / 従業員規模: 101名〜300名 / エンジニア組織: 11名〜50名
よく見られているレビュー
株式会社助太刀 / 喜多弦樹
チームリーダー / モバイルエンジニア / 従業員規模: 101名〜300名 / エンジニア組織: 11名〜50名