iOS CIにおけるMacStadiumとGitHub Actionsの比較
MacStadiumとGitHub Actionsは、よく一緒に検索されます。同じ問題を反対側から解決しているからです。GitHubが売るのは、目にすることのない共有Macの利用時間です。MacStadiumは、自社拠点にあるMac 1台丸ごとをリースし、自由に使わせます。このページでは、それぞれが正解になる場面と、多くの小さなチームが実際に探している中間の選択肢を説明します。
それぞれの実態
- GitHubホスト型のmacOS runnerは、使い捨ての仮想マシンで、1分あたり約$0.062〜$0.102で課金されます。ジョブの間に何も残りません。セットアップも保守も不要で、請求額はビルドのたびに増えます。
- MacStadiumは、拠点にある専用のAppleハードウェアを月単位でリースするサービスです。macOSを大規模に仮想化したいチーム向けにOrkaもあります。本物のMacのroot権限があり、GitHub Actionsを含め好きなCIを動かせます。サポートプランとセットアップは別料金で、エンタープライズの大規模環境を想定して作られています。
GitHubホスト型が正解の場合
- ビルドは週に数回で、請求額は100ドル未満に収まっている。
- マシンを管理したい人がチームに一人もいない。
- 1台では処理できない、大きな並列マトリックスが必要。
- リポジトリがパブリックで、ホスト型runnerが無料で使える。
専用Macが正解の場合
- macOSの利用が月2,242分前後を超えていて、固定料金のマシンのほうが従量課金より安い。
- ウォームなキャッシュが重要。DerivedData、SwiftPM、CocoaPodsがディスクに残れば、12分のビルドが4分になります。
- ホスト型イメージの更新に従うのではなく、Xcodeとシミュレータのランタイムを自分で固定したい。
両者の間のすき間
MacStadiumの強みは、規模とエンタープライズ向けの体制です。多数のマシン、仮想化、契約、サポート窓口があります。5人のiOSチームには過剰です。手間もかかります。runnerの登録、サービスの稼働維持、メンバーが抜けたときのマシンの消去です。GitHubホスト型はその手間をなくしますが、その分を毎分の料金に上乗せしています。
MacRunは、意図的にこのすき間を埋めています。チームごとに専用のM6 mini 1台を、GitHub Actionsのrunnerとして登録済みの状態で、月額固定$139で提供します。監視とデータ消去は当社が行います。専用ハードウェアの価格で、専用ハードウェアの雑務はありません。項目ごとの比較はMacStadiumとの直接比較にあります。
簡単な決め方
under 2,242 macOS min/mo GitHub-hosted, keep it simple over 2,242, one team one dedicated Mac, flat price many teams, many machines MacStadium (or a fleet of dedicated units)
よくある質問
MacStadiumのマシンでGitHub Actionsを動かせますか?
+
はい。MacStadiumのMacは普通のmacOSホストです。GitHubのセルフホストrunnerエージェントをインストールし、ワークフローから指定します。登録、更新、稼働の維持は自分で行います。
MacStadiumはGitHubホスト型runnerより安いですか?
+
毎日安定してビルドするなら、たいてい安くなります。専用Macは月額固定で、GitHubホスト型のmacOSは1分あたり約$0.062〜$0.102です。月額$139の固定料金のマシンなら、分岐点はmacOSの利用で月2,242分前後です。
自分でMacを借りる場合と比べて、MacRunには何が加わりますか?
+
runnerはインストール済みで、監視されています。Xcodeのバージョンは固定済みです。セットアップは数日ではなく数時間で終わります。リースが終わると、マシンは自動的に消去されて次の利用に回ります。お客様はYAMLを2行変えてビルドするだけです。
専用Mac 1台だと並列性が失われますか?
+
1台のマシンでは、ジョブは1つずつ実行されます。プルリクエストのたびに広いマトリックスが必要なら、台数を増やしてください。あるいは、マトリックスはGitHubホスト型runnerに残し、mainブランチのビルドを専用Macに移します。