ガイド

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に移します。

関連ガイド