iOS/MacOS向けアプリの開発にCircleCIを採用 CI/CDツールを一本化し、開発生産性を高める
Web サービスの開発に CircleCI をフル活用
個人の経験や知識、スキルを売り買いできるオンラインスキルマーケットを運営するココナラ。中でも、ビジネス上の様々な専門業務をオンラインで簡単に依頼できる「ココナラビジネス」は、近年急速に成長しているサービスの 1 つだ。デザイン・Web 制作、イラスト・漫画、IT・開発・プログラミング、動画・音楽、マーケティング、ライティング、コンサルティング、ビジネス代行など、発注できるカテゴリは 220 種類ほど「創業当初からの C to C マーケットにとどまらず、大手から中堅・中小まで、規模や業種を問わない企業とプロフェッショナルを結ぶプラットフォーム運営に注力しています」とココナラの川崎 雄太氏は紹介する。
そこで重要性が高まっていたのが、新たなサービスやプロダクトをタイムリーに展開していくアプリケーション開発のスピードだ。2018 年に CircleCI を導入し、CI /CD によるテストの自動化、開発スピード向上を図ってきた。
「ココナラビジネスをはじめ『ココナラ法律相談』『ココナラテックエージェント』など、ビジネス系ブランドのほぼすべての Web サービスの開発に CircleCI をフル活用しています。アプリケーションのビルドやテスト、本番環境へのデプロイが毎日のように行われています」と川崎氏は語る。
並列処理コストはもちろん、従来の不満が解決できるかも重要iOS/MacOS 向けのアプリ開発で抱えていた課題
一方、CircleCI 以外の CI / CD ツールを活用するチームもあった。特に iOS / MacOS 向けアプリの開発チームでは、iOS / MacOS 専用の CI / CD ツールを長く利用してきたという。
「ところが先日、このツールの価格改定があり、新プランを当社のワークフローに当てはめると利用料金が 4 倍以上になることが分かったのです」と同社の中田 有紀氏は振り返る。さすがにこれでは費用対効果が見合わない。そこで同社は、いくつかのツールを検討したのち、最終的には iOS /MacOS 向けアプリの開発でも CircleCI を利用することにした。
「きっかけはコストの問題でしたが、いくら料金が安くても質が低ければ採用すべきではありません。ツール検討を進める中では、『既存ツールで感じていた不満や課題は解決できるのか』も精査しました」と中田氏は続ける。
確認したポイントの 1 つが、アプリのビルド時におけるタスクの実行形態である。既存のツールでは決められた数のパイプラインの中でタスクを順に実行する必要があった。この制約のため、テストの“待ち” が日常的に発生していたという。
「CircleCI では、最初は逐次実行していたタスクを途中から並列実行に切り替えられます。また、各タスクが問題なく終了したかどうか確認した上で、後続処理に引き渡すといった操作も可能。時間短縮に大きなメリットを感じました」と中田氏は話す。
もう 1 つはエラー処理だ。既存の CI / CD ツールではタスクが途中で異常終了した場合も、その箇所から再実行はできなかった。そのため、原因調査に当たってはプロセスを最初から繰り返す必要があった。
「CircleCI はタスクを修正したのち、失敗した箇所から再実行できます。失敗の原因調査からリカバリーまでの時間を大幅に短縮し、アプリ開発の生産性を高められると感じました」(中田氏)
CircleCI へのリプレース効果は想像以上
加えて、そもそも iOS / MacOS 向けアプリの開発に CircleCI が適合するかはとても重要な問題だ。それまで同社は Windows、Android 向けのアプリや Web サービスの領域でしか CircleCI を使っておらず、この点では経験がなかったからだ。これについて中田氏は次のように述べる。
「iOS / MacOS 向けアプリの開発には Xcode という開発ツールを利用しますが、その新バージョンのベータ版がリリースされると、数営業日後には CircleCI に反映されて CI / CD ワークフローを実行できるようになります。さらに最近、CircleCI が Apple M1 チップの Medium および Large リソースクラスに対応したのも朗報です。このレスポンスの速さは非常にありがたく、iOS / MacOS の領域で問題なく使っていけると感じています」
もちろん、既存の CI / CD ツールが担ってきた iOS / MacOS 向けアプリの開発ワークフローは、一通りそのまま実現できる。現場の開発プロセスに大きな影響を与えず、導入できると判断した。
OS 種別を問わず社内の CI / CD 環境が CircleCI にほぼ一本化されたことを受け、同社は CircleCI を月額契約から年間契約に切り替えた。これにより、CI / CD 運用のトータルコストも最適化できているという。
ココナラは、新たな CI / CD 環境を生かすことで、iOS / MacOS向けアプリの開発体制をさらに強化していく構えだ。
特に iOS 向けのモバイルアプリには力を入れる。現在は約 2 週間に 1 回のペースでリリースを行っているが、これまで存在していたCI / CD に起因するボトルネックが解消できたため、今後は週 1 回にペースを上げていく計画だ。
「CircleCI が提唱するブルーグリーンデプロイメント構成やカナリアリリース構成も積極的に取り入れながら、モバイルアプリのビルドからテスト、デプロイまで一貫したワークフローにおけるダウンタイムの短縮やさらなる自動化を目指します」(川崎氏)
Windows、Android、iOS / MacOS / iPadOS など、プラットフォームを選ばずユーザーに高品質なアプリ/サービスを届ける。CircleCI を軸とした先進の CI / CD 環境が、そのための基盤になることだろう。
「iOS/MacOSにおけるCI/CDのボトルネックが解消されたことで、モバイルアプリのリリースペースを、現在の2週間に1回から毎週1回に短縮したいと考えています。」
中田 有紀 氏 | プロダクト開発部 Lead of EM Skillmarket | 株式会社ココナラ
株式会社ココナラについて
株式会社ココナラ 公式HP: https://coconala.co.jp/ 個人の知識・スキル・経験を可視化し、必要とするすべての人に結びつけ、個人をエンパワー メントするプラットフォームとして、サービス・役務を売買するスキルのマッチングプラット フォーム「ココナラ」を中心とした事業を展開。