今のパイプラインを残せるXcode Cloudの代替
Xcode Cloudは良い製品ですが、Appleのツールチェーンと深く結びついていて、計算時間単位で課金されます。パイプラインがすでにGitHub Actionsにあり、費用を予測しやすくしたいなら、専用のmacOS runnerという別の選択肢も知っておく価値があります。
根本的な違い
Xcode Cloudが売っているのは、Appleのエコシステム内で管理されたビルド時間です。App Store ConnectやTestFlightとの連携が密です。MacRunが売っているのはマシンです。一方は連携とセットアップ不要を重視し、もう一方は費用の予測しやすさと今のパイプラインの維持を重視しています。
- 課金。Xcode Cloudは、月あたりの計算時間による段階制の料金です。MacRunは月額固定$139で、分数は無制限です。
- ワークフローの定義。Xcode Cloudのワークフローは、XcodeとApp Store Connectで設定します。MacRunでは、既存のGitHub ActionsのYAMLがrunnerのラベル以外そのまま動きます。
- 環境の自由度。Xcode Cloudではイメージが管理されています。専用マシンなら、Xcodeのバージョンを固定し、必要なツールを何でもインストールできます。
- キャッシュ。Xcode Cloudはキャッシュを内部で処理します。専用マシンでは、標準ですべてがローカルSSDに残ります。
Xcode Cloudのほうが良い場合
次のような場合はXcode Cloudを選んでください。TestFlightでの配布とApp Store Connectとの連携を任せたい。チームがCIの設定よりXcodeの中で作業している。ビルド環境全体をAppleに管理してほしい。これらは本物の利点で、そうでないふりをするつもりはありません。
専用runnerのほうが合う場合
次のような場合は専用のmacOS runnerを選んでください。CIがすでにGitHub Actionsで動いていて、移行したくない。ビルド量が多く、時間単位の料金では予測が立たない。ビルドマシンに独自のツールが必要。失敗したビルドをSSHで直接デバッグしたい。
計算ツールで数字を比べるか、GitHubホスト型との比較をお読みください。
よくある質問
Xcode Cloudの良い代替は何ですか?
+
すでにGitHub Actionsを使っているチームなら、専用のセルフホストmacOS runnerが最も近い代替です。今のパイプラインをそのまま使えます。ビルド用のUIが欲しいなら、マネージドプラットフォームのCodemagicやBitriseが代替になります。
Xcode Cloudは専用のMac runnerより安いですか?
+
ビルド量と、請求額をどこまで予測可能にしたいかによります。Xcode Cloudは月あたりの計算時間を段階制で販売しているので、使うほど費用が増えます。専用マシンは、何分使っても月額固定$139です。
GitHub ActionsとXcode Cloudを併用できますか?
+
はい。GitHub Actionsでテストを実行し、TestFlightへの配布にXcode Cloudを使うチームはよくあります。どちらか1つにまとめる場合、決め手はたいてい、パイプラインの定義を自分で持ちたいか、Appleに任せたいかです。
Xcode Cloudから移るとワークフローを書き直す必要がありますか?
+
GitHub ActionsのセルフホストmacOS runnerに移る場合、ビルドの手順を一度YAMLで書く必要があります。パイプラインがすでにGitHub Actionsにあるなら、新しいrunnerを指定する2行の変更だけです。