CircleCIからGitHub Actionsへ移行する
株式会社スタディスト / wind-up-bird
メンバー / バックエンドエンジニア
利用プラン | ツールの利用規模 | ツールの利用開始時期 | 事業形態 |
---|---|---|---|
GitHub Enterprise Cloud | 51名〜100名 | 2019年 | B to B |
利用プラン | GitHub Enterprise Cloud |
---|---|
ツールの利用規模 | 51名〜100名 |
ツールの利用開始時期 | 2019年 |
事業形態 | B to B |
導入の背景・解決したかった問題
導入背景
スタディストではTeachme Bizというサービスを提供しています。
このサービスのレポジトリでは、これまでCircleCIを利用してきました。 導入当初はユニットテストの実行のみでしたが、現在はFomatter/Linter の実行、E2Eテスト、コンテナのビルド、デプロイのワークフローなど様々な用途として利用しています。
しかし、最近は新規に作成されたレポジトリではCIとしてGitHub Actionsを採用することが多くなっており、会社として2つのCIサービスを管理・運用するよりは1つに統合したいなと考えていました。
比較検討したサービス
- CircleCI(既存利用)
- GitHub Actions(移行先)
比較した軸
- 利用金額
- 機能面
- 管理・運用面
- AIツール(GitHub Copilot、Devin、Claude Codeなど)との親和性
選定理由
- CircleCI→GitHub Actionsに統合してもコストが大幅に増加することはないとわかったため。
- CircleCI→GitHub Actionsに統合することで、管理・運用するSaaSサービスが一つ減るため。
- 特定のツール(Devinなど)はGitHub Actionsの実行ログを参照できるため。
導入の成果
- 会社で利用するCIをGitHub Actionsに統一することができたこと。
- 移行後もCircleCIとほぼ同様の体験を維持できたこと。
導入時の苦労・悩み
2025年7月現在、機能面ではCircleCIの方が優れていると思います。 特に、テスト分割と並列実行、テストインサイトの機能はGitHub Actionsにはないため、自前で仕組みを準備しました。
また、CircleCIはキャッシュも利用可能サイズが大きく、キャッシュ期間を柔軟に設定できるのも魅力的です。GitHub Actions はキャッシュの合計サイズは10GBで固定、保存期間も7日間で固定されています。(2025年7月現在)
導入に向けた社内への説明
上長・チームへの説明
GitHub Actionsに移行するメリットとデメリットを検討してDesign Docを作成し、上長やチームに説明しました。
メリット
- 利用金額の削減が可能
- GitHub単体でコード管理とCIが完結する
- 運用・管理するSaaSが減る
- 障害ポイントが減る
- AIツールとの親和性が高い
デメリット
- CircleCIの方が多機能
- CircleCIの方がキャッシュの設定が柔軟
合わせて、デメリットとなる部分は自前で実装する等の代替案である程度カバーできることも説明しています。その他、CircleCIとGitHub Actionsを並行稼働させて、利用する上での不明点や障害がないか確認しました。
活用方法
ツールの良い点
- GitHubのエコシステムで完結すること
ツールの課題点
- CircleCIと比較して機能面は少し劣る
- 実行結果のサマリなどUIはCircleCIの方が見やすい
- キャッシュの設定はCircleCIの方が柔軟
今後の展望
コスト最適化を図りたいと考えています。例えば、Armベースのランナーへの置き換えやアーティファクトの保存先としてS3等のオブジェクトストレージを利用するなど検証していきたいです。
それ以外にも、CircleCIにはFlakyテストを検知する仕組みもあるので、GitHub Actionsにも似たような仕組みが導入できればよいなと妄想しています。
もう少し詳しい説明はブログにまとめています。
https://studist.tech/teachme-biz-github-actions-a44948e8c28a
株式会社スタディスト / wind-up-bird
メンバー / バックエンドエンジニア
よく見られているレビュー
株式会社スタディスト / wind-up-bird
メンバー / バックエンドエンジニア