複数地域チームのビルド環境選び

3つの方法を
一覧で比較

XcodeビルドをどのMacに任せるか。まずは、常時稼働を誰が担うかを確認しましょう。

専有Macのレンタル、自社購入、共有仮想環境のいずれも、macOSのワークロードに利用できます。違いは支払い方法だけではありません。リソースの所有者、キャッシュの保持期間、夜間にビルドが止まったときの対応者も異なります。

PushMacは1日$19.2から · Mac miniを1台専有 · 仮想環境ではありません

導入前にそろえる比較基準

同じビルドを3つの方法で運用

ここではXcodeを使うチームを想定します。レンタルはPushMac、共有環境は一般的な一時利用型macOSビルド環境を指します。料金、待ち時間、データ保持の仕様は、各サービスで個別に確認してください。

比較範囲:機器、環境、運用責任。サービスごとの表示価格を単純比較しないでください
比較項目 専有Macのレンタル 自社購入 共有仮想環境
費用の内訳 1日$19.2から。機種、利用期間、オプションに応じて料金が決まります。 本体購入費に加え、電気代、回線費、ホスティング費や設置場所の費用がかかります。人員の稼働も見積もりましょう。 分単位またはジョブ単位の課金が一般的です。待ち時間、同時実行数、追加ストレージのルールはサービスごとに異なります。
利用開始まで 注文当日に利用開始できます。支払い確認後に専有Macが割り当てられ、コンソールで接続情報を確認できます。 購入、配送、設置、ネットワーク設定が必要です。通常は数日以上の準備期間を見込みます。 環境はすぐに作成できますが、ジョブの開始時刻は利用可能なクォータとキューに左右されます。
リソースの専有性 1台の物理Mac miniを1人の顧客に貸し出し、他の顧客とホストを共有しません。 機器を専有できます。機器、電源、ネットワークは自社で手配します。 仮想環境は他の利用者とホストを共有します。リソースの分離方法とクォータはプラットフォームによって異なります。
アップグレードと移行 ジョブに応じてプランやノードを選べます。インスタンス変更時は、コード、キャッシュ、CI設定の移行が必要です。 性能が足りない場合は機器の購入や交換が必要です。複数地域に展開する場合は、現地でのホスティングも手配します。 利用できる構成、同時実行数のクォータ、地域はプラットフォームの提供内容に制限されます。
キャッシュとツールチェーン 契約期間中はDerivedData、依存関係のキャッシュ、複数バージョンのXcodeを保持できます。 長期保持できます。ディスクの整理、バックアップ、バージョン管理はチームが担います。 一時インスタンスの終了時にローカルファイルが削除される場合があります。キャッシュを長期保持するには、通常別途ストレージの構成が必要です。
インフラの運用責任 データセンターが電源、ネットワーク、冷却を担当し、チームはコード、システム設定、ビルドジョブを管理します。 すべて自社で管理するか、ホスティング、ネットワーク、運用サービスを個別に契約します。 プラットフォームがホストとスケジューリングを管理します。チームはイメージ、ジョブの実行時間、実行ルールに合わせる必要があります。
向いているケース 継続稼働、自社管理runner、固定のツールチェーン、複数地域のチーム間での引き継ぎ。 現地の設置環境があり、機器への現地接続が必要で、自社運用を担える場合。 短時間で完了し、再作成でき、待ち時間や環境のリセットを許容できる個別ジョブ。

専有でも管理が不要になるわけではありません。証明書、アクセスキー、依存関係のバージョン、ジョブキュー、データのバックアップについて、チームでルールを決める必要があります。

機器代以外にかかるコスト

Macの購入後に担う4つの運用責任

オフィスに機器があっても、運用コストがゼロとは限りません。導入費用を見積もる際は次の4項目を含め、特に夜間の不在時に誰が対応するかを明確にしましょう。

電源と復旧

自社運用では、電源の確保、停電後の復旧、現地での対応を手配します。再起動後にはrunnerとビルドサービスが復旧しているかも確認が必要です。

レンタルの場合
データセンターが電源を担当し、チームはサービスの起動設定を確認します。

ネットワークと接続

自社運用では、ネットワークの安定性、リモート接続、回線障害への対応が必要です。デスクトップに接続できても、リポジトリの取得、依存関係のダウンロード、成果物のアップロードが正常とは限りません。

レンタルの場合
データセンターがネットワークを担当し、チームはSSHキーとアプリケーション層のアクセス方針を管理します。

冷却と設置場所

継続的なarchive、テスト、依存関係のビルドは長時間の負荷になります。自社運用では、機器の通気、室温、現地での点検体制を整える必要があります。

レンタルの場合
データセンターが冷却を担当し、チームはジョブの負荷とディスク使用量を確認します。

夜間の障害対応

機器のオフライン、runnerの停止、スクリプトの失敗をあらかじめ切り分けておきましょう。対応体制が決まっていないと、翌朝に失敗通知を確認した時点でリリースキューが滞留していることがあります。

レンタルの場合
インフラの問題はコンソールからチケットで問い合わせ、コードやパイプラインのエラーはチームで調査します。

365日稼働。インフラとビルドジョブを分けて管理

PushMacのノードは年間を通じて稼働します。常時稼働の専有Mac miniなら夜間CIを実行できます。ビルドの成否は、プロジェクト、依存関係、ジョブの設定にも左右されます。

共有環境を使う前に確認したいこと

環境がどれだけ保持されるか確認

共有仮想環境は専有物理Macとは異なりますが、選択肢から一律に外す必要はありません。実行上の制約を明確にし、一時ジョブに適しているか、日々のCIで待ち時間や環境再構築の負担が増えるかを判断しましょう。

ビルド時間はコンパイルだけではない

キュー待ち、環境の初期化、依存関係のダウンロード、コンパイル、アップロードの所要時間をそれぞれ記録しましょう。同じプロジェクトでarchiveにかかる時間が近くても、コミットから成果物を受け取るまでの総時間は異なる場合があります。

確認項目:同時実行数の上限、ジョブの実行時間、起動待ち時間、リソースクォータの固定有無。

一時ディスクは長期キャッシュではない

ジョブ終了時にインスタンスが破棄される場合、ローカルのPods、SPM、DerivedDataを永続ストレージとして扱うことはできません。リモートキャッシュを使う場合も、復元時間、容量、キャッシュキーの管理を考慮しましょう。

確認項目:インスタンスの破棄ルール、キャッシュの保持期間、Xcode切り替え後の無効化方針。

共有ホストは専有機ではない

仮想環境でジョブを分離できても、機器全体を専有できるわけではありません。サービスの常時稼働、固定のツールチェーン、より広範なシステム管理権限が必要な場合は、プラットフォームが対応しているか確認してください。

確認項目:システム権限、バックグラウンドプロセス、ツールのインストール制限、利用可能な地域。

アジア太平洋と北米の業務時間

近い地域から接続し、キューで引き継ぐ

チームが2つの地域に分かれている場合、まずリモートデスクトップの操作とバックグラウンドビルドの要件を分けて考えましょう。担当者のシフトはタイムゾーンに、接続体験はネットワーク経路に左右されます。どちらか一方で、もう一方を補うことはできません。

利用可能な5拠点

シンガポール · 東京 · ソウル · 香港 · 米国東部

2つのMac miniプランは、いずれも全拠点で利用できます。最新の稼働状況はコンソールでご確認ください。リモート接続の品質は、チームの所在地と実際のネットワーク環境で検証してください。

レンタル:2地域にrunnerを配置

アジア太平洋と北米でそれぞれ近い拠点を選び、異なるrunnerラベルでジョブを振り分けます。同じリポジトリからコードを取得し、成果物はチーム共通の保存先に出力すれば、日々の操作に地域間同期を持ち込まずに済みます。

Macが1台でも、勤務時間に合わせて交代で使えます。ただし、ビルドキューを一本化してください。同じMac上でXcodeの切り替え、キャッシュの削除、署名リソースの使用が重なると、ジョブ同士が影響することがあります。

事前に決めること:ノード、runnerラベル、キュー、成果物の保存ルール。

自社購入:両地域のホスティングも手配

各地域に1台ずつ設置する場合、機器の購入だけでなく、それぞれの電源、ネットワーク、冷却、現地対応も手配する必要があります。機器は自社所有でも、複数地域への展開だけで遠隔運用の課題が解決するわけではありません。

機器が一方のオフィスにしかない場合、もう一方からのリモートデスクトップ操作は地域間のネットワーク経路に左右されます。現地の設置場所と運用要員があり、引き継ぎの責任者を明確にできるチームに向いています。

事前に決めること:現地ホスティング、接続方法、復旧手順、担当者。

共有環境:地域とクォータに応じてジョブを割り当て

まずプラットフォームの対応地域を確認し、両地域の業務時間帯に使える同時実行数を調べましょう。一時環境ではツールチェーンのインストールとキャッシュの復元をスクリプト化し、特定のマシンに残る手作業の状態に依存しないようにします。

独立したジョブに分割できるパイプラインに向いています。固定のデスクトップ環境、長時間稼働するプロセス、大量のローカル状態が必要な場合は、移行前に対応状況を検証してください。

事前に決めること:対応地域、クォータ、イメージ、キャッシュの復元方針。

実際のプロジェクトで選択肢を検証

キャッシュなしとキャッシュありのビルドをそれぞれ記録し、接続品質、準備時間、成果物のアップロードを同じ記録にまとめましょう。日単位のレンタルなら、長期契約を決める前に検証できます。機種名だけでチームの効果を判断しないでください。

ワークロードに合わせて選ぶ

常時稼働のCIなら専有Macを検討

常時稼働、リソースの専有、ビルドキャッシュの保持が必要で、電源、ネットワーク、冷却を自社で管理したくない場合は、専有Mac miniのレンタルが適しています。現地機器への接続環境と運用体制が整っているなら、自社購入にもメリットがあります。短時間で再作成できるジョブなら、共有環境も引き続き検討できます。

メモリを選び、次に利用期間を決める

Push M4 S:M4 / 16GB / 256GB SSD。単一アプリの日常的なCIに適しています。Push M4 L:M4 / 24GB / 512GB SSD。複数targetの並列archiveや、Flutter / React Nativeの混合ビルドに適しています。実際の並列数はプロジェクトのメモリ使用量に基づいて検証してください。スペックから固定の速度向上率を推定することはできません。

日単位のレンタルで、移行や初回ビルドを検証できます。週・月・四半期の料金はプランページに掲載しています。支払い方法はUSDT-TRC20とVisa / Mastercard / Amex(Stripe)に対応し、料金は米ドルで統一されています。実際に利用できる決済方法はバックエンドの表示をご確認ください。

ビルド用Macをデータセンターに任せる

Mac miniを1台専有、365日稼働。プランを選び、プロジェクトをチームのビルドキューに接続しましょう。