CircleCI導入で CIの構築 ・ 運用コストを削減
開発者はプロダクトの品質向上に注力
CIツールの構築と運用のコストを削減したい
DeNAはソーシャルゲームをはじめとして、エンターテイメント、スポーツ、オートモーティブ、ヘルスケア、eコマースなど実に幅広く事業を展開している。2019年に創立20周年を迎えてもなお、ベンチャー精神を忘れていない。 「 世界に喜びと驚きを」と掲げ、インターネットやAIを活用して多種多様な事業に挑戦を続けている。
創業当初から多様なソフトウェアを開発していることから、ソフトウェアテストに関する造詣も深い。 同社にはSWET(Software Engineer in Test)グループがあり、全社横断的なサービス品質向上とエンジニアの開発生産性向上を目指し、アーキテクチャ、自動テスト、プロセス(CI/CD)を軸に技術調査や情報提供を実施している。
社内の開発プラットフォームはオンプレミスとクラウドのハイブリッド。 パブリッククラウドはAWSとGCPを併用している。 開発言語はモバイル向けのSwiftやKotlin、サーバーサイドはGo言語が多く、PerlやRubyも使用。 GitHubはEnterpriseを利用している。
CircleCI導入前のCIはJenkinsが主流だった(現在もCircleCIと併用中)。 プロジェクトチームごとにJenkinsのサーバーを構築しており、ジョブが走るようになるまで3日ほど費やしていた。 この初期コストに加えて、マシンのメンテナンスなどの運用コストも恒常的にかかることが課題だ。 沖田氏は「少人数のチームですと、プロダクトを早くリリースしたいのでCIを構築して運用していくのが工数的に難しい」と話す。
「CIをプロジェクトの初期段階から導入していこうという意識が社内に高まってきています」
井口恒志 氏 | SWETグループ | DeNA
CircleCIは問い合わせ対応が素早く、プライベートで利用していたエンジニアも
SWETグループが新たなCIについて検討を始めたのは2015年末ごろ。 数種類のCIツールを比較検討したところ、「当時の導入検討を担当した者からCircleCI が問い合わせへのレスポンスが最も早く、とんとん拍子に進めることができたと聞いております。 また、CircleCIをプライベートで使用したことのあるエンジニアもいたことでスキルを習得する工数が少なくて済むため、導入障壁が低かったのではないかと思います」と井口氏は話し、社内エンジニアからCircleCI導入を要望する声もあったという。
DeNAではオンプレミス環境でGitHub Enterpriseを使用しているため、CircleCIもインストール型のCircleCI Serverの導入を検討し、トライアル利用を経て、アカウント申請などの社内運用ルールを整備し導入に至った。 沖田氏も「2016年ごろからCircleCIに関する日本語のドキュメントが増えてきて、導入にはいいタイミングでした」と振り返る。
エンジニアがプロダクトの品質向上に専念できる
CircleCI Serverの運用を開始すると当初の期待通り、CI環境を構築する労力は大きく軽減された。 従来のツールであれば、環境を構築してジョブを走らせるところまで3日ほどかかっていたが、それがほぼなくなった。 「CircleCIが使えるようになったことで、プロダクトの品質向上に注力できるようになりました。CircleCIの導入効果として高かったと思います」と沖田氏は話す。
そのほか、インタビュー中に挙がったCircleCIの良い点を最後に紹介したい。 一つに、情報収集のしやすさがあるという。 Webを検索すれば導入事例やノウハウも多く公開されているため、社内エンジニアに説明をしなくてもエンジニアが自ら工夫して使うことができる。 機能面では、CIの時間短縮につながる並列実行の使いやすさや、環境変数をマスクしてプロジェクト間で共有できるコンテキスト機能などが挙がった。 また、コンテナベースでの実行によるメリットも大きい。 オンプレミスのCIではサーバー間の環境を揃える苦労があったが、CircleCIはコンテナベースで実行するため環境の差異による影響を最小限に抑えることができる。
具体的な機能以外にも、「後々の面倒が少なくなるのでCIをプロジェクトの初期段階から導入していこうという意識が社内に高まってきています」と井口氏が話すように、開発現場への良い影響も見られるようだ。
株式会社ディー・エヌ・エーについて
株式会社ディー・エヌ・エーは、モバイルゲームの開発・配信をはじめとして、エンターテイメント、スポーツ、オートモーティブ、ヘルスケア、SNS運営など事業を展開しています。