シンガポール、日本、韓国、香港、米国東海岸、米国西海岸から iOS/macOS を出荷するチームは、いずれも同じ経路の問いに直面します。Xcode Cloud に置くジョブと、SSH で制御する専用 Apple Silicon Mac mini(M4/M4 Pro)に置くジョブはどう分けますか。本稿では意思決定マトリクスと6ステップのハイブリッド運用手順を示し、キュー意味論とカスタマイズ上限を切り離し、Archive・コンプライアンス証跡・成果物の出口を適切な地理の名前付きホストに固定することまで整理します。読み終えたあと、「PR は Cloud、リリース Archive は東京のベアメタル」のように監査可能なルールを書ける状態を目指します。マルチリージョン契約ガイドおよびRunner ハードニングチェックリストと併せてご利用ください。
sysctl プロファイルへ固定すると不可解な崩れが減ります。本稿は 購入対リースの TCO で答えた財務の話は繰り返しません。そちらは CapEx と OpEx の領域であり、ここでは実行平面の経路付けを扱います。
チームが見落としがちなのは引き渡し面です。プロビジョニングプロファイルと署名素材は、キーチェーン、match リポジトリ、ASC API キーに単一の統治ストーリーがないとプール間でずれます。レビューテンプレートでは、両プールが同じ配布証明書を非対話で取り込めるか、Archive 失敗を15分以内に署名かネットワークに分類できるかを必ず問うべきです。
二つ目の引き渡しはキャッシュ思想です。ホスト済みレーンはクリーンルームを好み、専用ホストは DerivedData と依存キャッシュを蓄積します。千ビルドあたりの書き込みバイトと節約キュー分を併記しないと、ディスクが跳ね上がり Cloud 請求が下がっても投資対効果の物語が成立しません。
表はアーキテクチャレビューパケットの表紙として使います。根拠としてワークフロー YAML、スクリーンショット、監査 ID を添付し、逸話だけにしないでください。
| 観点 | Xcode Cloud(ホスト) | 専用リモート Mac mini M4/M4 Pro(ベアメタル) |
|---|---|---|
| 運用モデル | Apple 管理。ワークフローは Xcode/ASC 内に留まる | SSH/VNC。launchd/cron、Runner ラベル、ディスクレイアウトは自前 |
| 並行の意味論 | ティア型サブスクリプションと共有プール挙動 | 並行上限は自前設定。専有ホストでは隣人ノイズはほぼゼロ |
| イメージのカスタム | 支持ステップのみ。システムレベル導入は限定的 | 任意のシェル、Docker サイドカー、追加エージェント(OpenClaw Gateway を含む) |
| リージョン配置 | Apple のリージョンフットプリントに従う | SG/JP/KR/HK/米東/米西を選び Git、レジストリ、ASC 出口に寄せる |
| 最初の適合例 | 標準スキーム、TestFlight 連携、オンボーディングに優しい | 重度 Archive、特殊署名、社内ツールチェーン、名前付きホストのコンプライアンス |
ハイブリッドは近道ではありません。文字どおりのルーティング表がないと、秘密とキャッシュパスがプール間で衝突します。追加のマシンを買う前に、どのブランチがどの実行者を既定にするか文書化してください。
L1 PR スモーク(軽)、L2 夜間統合(中)、L3 Archive+公証+アップロード(重)。平均ではなく壁時計のパーセンタイルを図示します。L3 を最良リージョンへ固定します。metal-m4 や archive-only のように切り、Runner チェックリストに従いリポジトリ単位で秘密を隔離します。Runner 配線と可観測性のあいだに48時間の凍結を入れてください。Xcode の更新と経路の書き換えを同じ窓に載せると、トリアージが不可能になります。
タイムゾーン越えのリレー CI を既に運用しているなら、夜間キューを専用プールへ、昼間の高速フィードバックを Xcode Cloud へ割り当てられます。その際チケットにはコミットハッシュと署名コンテキストのフィンガープリントを載せ、Slack の語りだけにしないでください。
# 経路付けスケッチ例 — region_hint は計測 RTT に差し替え
routing_rules:
- match: { branch: "release/*", job: "archive" }
target: dedicated_remote_mac
region_hint: ["jp", "sg", "us-east"]
- match: { branch: "feature/*", job: "unit-ui" }
target: xcode_cloud
L3 を増やすかリースのフィードバックループを短くします。.xcarchive ツリーを差分します。署名素材への集中した不一致は、混在キーチェーン文脈のシグナルです。Cloud のクォータ追加はキュー症状を隠すだけで、カスタム上限は上がりません。Archive の前に自社コンプライアンススキャナを挟む必要がある場合や、本番 OpenClaw Docker 構成と同居する場合、ホスト定義では脆い回避策を強いられます。
ノート Runner はスリープ、電源、監査に弱く、夜間ジョブとキーチェーンプロンプトを SLA 付きインフラにしにくいです。
6つの戦略リージョンで排他的な Apple Silicon が必要で、ベース+バーストに分かれた予測可能なリースと、Archive と任意の自動化ゲートウェイの両方に合う SSH 到達ホストが要る場合、MACCOME クラウド Mac mini ノードはハイブリッド経路を計測可能にしやすくなります。シンガポール、日本、韓国、香港、米国東西を日次/週次/月次/四半期の組み合わせでカバーし、重いレーンをベアメタルへ、Xcode Cloud は軽い検証レーンの応答性へ、と割り振れます。
新入社員が PR を Cloud に、リリース Archive を JP ベアメタルに残す理由を読めるようにしてください。ROUTING.md を 契約配置ガイド の隣に置きます。
最後の5分チェック:秘密は単一ソースか。 バーストリースは財務コードに結び付いたか。 どちらもなければハイブリッドは運用の伝説を二倍にします。
明示的な逃げ道も足してください。Xcode Cloud が同じクラスタを3回続けて失敗したら一時的に専用ハードウェアへ回し、24時間以内に RCA を起票し、例外をコード化するかロールバックします。そうしないと専用プールが暗黙の既定になり、サブスクリプションが休眠します。
SSH 対 VNC の接続パターンと併読してください。シェル到達だけでは経路の正しさは証明できません。