2026年版 Codemagic マネージド iOS CI か専用リモート Mac 課金分数・同時実行スロット・移行マトリクス・VPS 型 SSH セルフホスト

Apple シリコンで iOS や Flutter を届けるなら、Codemagic マネージド macOS CI専用リモート Mac のリース を VPS のように運用するか(SSH、Xcode 固定、エージェント、ディスクと署名の境界)を比較しているはずです。読者:プラットフォームエンジニアとモバイルリード。痛み:分数課金、同時実行スロット、キュー意味論、移行リスクがリリースシーズンに衝突。成果:七つの検証仮説、決定マトリクス(BitriseXcode Cloud 比較記事)、六段階 SSH Runbook、RFC 向け指標、レンタル料金ヘルプセンター への FAQ。

01

Codemagic クラウド分数またはセルフホスト Mac 容量を固定する前に圧力テストする七つの仮説

Codemagic はモバイル向け YAML、Flutter/iOS テンプレート、可視化された課金分数ダッシュボードをまとめます。透明性は価値がありますが、本当の障害はXcode 指紋同時実行スロット上限署名キーチェーン、長い依存グラフでのディスク増幅に隠れがちです。これらを飛ばすレビューは実行プレーンではなくロゴ比較で終わります。

マネージド CI は「ゼロ運用」ではありません。クラウドイメージはローテーションします。セルフホストレーンも SwiftPM・CocoaPods・DerivedData ガバナンス に合わせたキャッシュ契約が必要です。境界をベンダースケジュールで強制するか、深夜 2 時に赤くなったジョブへ SSH できるハードウェアで自社の受け入れ試験で強制するかが論点です。

  1. 01

    分数課金=予測可能な予算:分数は並列度とリトライで倍増します。不安定な統合テストが五回再実行されると、財務モデルより早くリリース週の枠を消費します。課金分数の分散を追跡し、月次合計だけを見ないでください。

  2. 02

    同時実行スロットは無限に見えて壁に当たる:プラン階層が同時 macOS ジョブ数を制限します。ピーク時に Archive と UI テストが重なると、各ジョブが速くてもキューします。金曜リリースを約束する前に最大並列ワークフローを SLA に書いてください。

  3. 03

    セルフホスト=分数課金ゼロではない:可視化されたクラウド請求を固定リース、パッチ、エージェント更新、ディスク掃除と交換することが多く、移行期の二重コストは普通です。

  4. 04

    署名はノートPCのままでよい:企業証明書と match は専用 CI ユーザーとローテーション Runbook に置くべきです——Fastlane ヘッドレス CIエンタープライズビルドプール を参照。

  5. 05

    VPS 型 SSH はオプションではない:本番モバイル CI では非対話 SSH、スリープ無効、コマンド監査が基線です——Linux VPS からの SSH と VNCM シリーズ SSH CI 代替 を参照。

  6. 06

    1 台の Mac に全オーケストレータ:パス分離がなければ Codemagic エージェント、GitHub Actions ランナーGitLab Runner が同じ DerivedData ルートを踏みます。

  7. 07

    ネットワーク確認はブラウザ HTTPS で止まる:ビルドエージェントは安定した egress とベンダーコールバックが必要です。TLS 検査プロキシはワーカーを「オンライン」だが飢えた状態にします——コンソールの緑だけでなくホスト側証拠を取ってください。

運用上、二つ目の同時実行スロットや二台目の Mac を買う前に、キュー深度 P95Archive 時間分布週次ディスク増分の三指標を公開してください。ないと、きれいな UI の下で混沌を複製するだけです。臨時のオフィス PC と比べ、専用 Apple シリコンホストのリースは電力・部品・リモートハンズが予測可能です。疑わしい macOS 仮想化より物理 Mac mini は署名と審査リスクを下げます——差分はチャットではなく RFC に書いてください。

他のコントロールプレーンも評価するなら、CircleCI ハイブリッドBuildkite エージェントの弾力性 を読み、「YAML と権限の所有者」と「macOS CPU・NVMe の所有者」を分けてください。Codemagic も同じ桶:コントロールプレーンのモバイル体験は強いが、実行は Apple ハードの物理に縛られます。

02

移行決定マトリクス:Codemagic クラウド macOS、Codemagic が自社 Mac を駆動、専用リモート Mac ノード

万能の勝者はなく、制約への適合だけです。本マトリクスは、エンジニアリングリードが財務・セキュリティと同じ会議で選択を守るためのものです。行はベンダー管理 macOS 分数Codemagic が自社マシンを駆動クラウドノードのように運用する専用リモート Mac 容量(上に Codemagic 等が残ることが多い)を対比します。

次元Codemagic クラウド macOSCodemagic + セルフホスト Mac専用リモート Mac(ノードプール)
コスト形状課金ビルド分数 + 同時実行ティアしばしば二重:軽量ジョブはクラウド分数 + 固定リース容量型:リース、ディスク階層、egress—VPS/ノード予算に近い
同時実行モデルプラットフォーム強制の並列スロット上限マシンごとに正直な CPU/IO 見積もり;キューはローカルへ専用スロットを文書化;ハイブリッドラベルで重い仕事へ
キューリスク共有フリートのピークがリリース窓を伸ばす待ちはエージェントプールの健全性へキューは自社 Runbook の問題—かつコントロール面
ディスクとキャッシュ短命なクリーンビルド;温キャッシュも分数課金規律があれば温 DerivedData を維持可能固定パス、cron 清掃、水位アラート—キャッシュガバナンス記事参照
運用入口Web UI + YAML;ホスト SSH は限定的エージェントログ + 自社ホスト SSH 切り分けフル SSH、launchd、監視—VPS 思考
典型的な切り分けPR チェック、Flutter/iOS ユニット、実験安定した署名ドメインが要る Archive レーン24/7 エージェント、複数オーケストレータ、AI/自動化サイドカー

「VPS のように Mac をリース」は Codemagic を捨てる意味ではなく、慣れたワークフローのまま Xcode + シークレット + NVMe を SSH できる契約級専用ホストの背後に置くことです。

成熟チームはハイブリッドが多い:マネージドスタックで予測可能な分数の軽量検証を残し、明確な workflow 条件でArchive・企業署名・長い統合スイートを専用ハードへ。クラウド同時実行を上げるだけより、ピーク圧力を「クレジット待ち」から「自社キュー待ち」へ——障害は制御できるホストに近づきます。

「誰が署名を変更できるか」「誰がキャッシュを消せるか」の RACI を Codemagic・GitHub・GitLab 横断で文書化しないと、三つのパイプラインが証明書期限の午後に同時にページされます。財務比較は 買い vs リース TCOクラウド Mac リース SLA の仮説グリッドを再利用してからプラン再交渉を。

マネージド分数が勝つとき—専用ノードが勝つとき

マネージド分数はオンボーディング速さ、キュレートされたスタック、ホスト手入れ最小、中程度のリリース、予測可能な課金包絡、ピーク時のプラットフォームキュー意味論の受容に向きます。専用ノードは専用同時実行、永続ツリー、カスタムデーモン、固定 egress、複数オーケストレータ、SSH 優先インシデント向き——Xcode Cloud からノード型容量へ向かうチームと同じ信号です。

実務的移行:workflow YAML と環境グループは安定のまま、マシンターゲットだけ変更——PR スモークはクラウド、Archive はセルフホストプール。爆発半径を縮小:エンジニアは同じログ、財務は軽レーンの分数トレンド、プラットフォーム担当は署名/キャッシュ時に単一 SSH ターゲット。切替日、ロールバック(例:連続二リリース窓でキュー P95 が SLA 超)、workflow 条件を誰が切るか——三行で「一時ハイブリッド」が永久混乱になるのを防げます。

03

六段階移行 Runbook:クラウド分数から専用リモート Mac 上の VPS 型 SSH セルフホストへ

順序が重要:ID とディレクトリ、次にエージェント、最後に並列度。メニュー表記は Codemagic 現行文書に従い——本 Runbook は社内 Wiki に貼れる骨格です。

  1. 01

    課金分数とスロット使用を棚卸し:過去 90 日のビルド分数、macOS 並列ピーク、リトライ率をエクスポート。ハードウェア発注前に財務とエンジニアリングは同じグラフを見ること。

  2. 02

    専用 macOS CI ユーザーを用意:個人 Apple ID セッションと混ぜない。~/codemagic-ci などの接頭辞を標準化しスリープ無効——他のセルフホストガイドと同じ基線。

  3. 03

    ツールチェーン指紋を凍結:xcodebuild -version、Ruby、Flutter、依存 lockfile を repo 文書へ。再現可能な Xcode 指紋 と組み合わせる。

  4. 04

    ベンダー手順でセルフホスト容量を登録:登録トークンはローテーション秘密として扱い、ノートPCブラウザではなくホストから外向き HTTPS とコールバックを検証。

  5. 05

    ワークフローを意図したマシングループにバインド:デフォルトはまだクラウドワーカー——Archive と署名レーンは明示条件で、黙って分数を燃やさない。

  6. 06

    同一 Git SHA でカナリア:クラウドと専用レーンで各一回;並列拡大やスロット廃止前にキュー待ち、壁時計、ディスク増分を比較。

yaml · レビュー用フィールド(例)
sla.max_queue_minutes = 25
cost.window_days = 90
capacity.peak_parallel_macos = 4
disk.watermark_free_pct = 20
entry.default = "ssh_ci_user"
split.light = "codemagic_cloud"
split.heavy = "dedicated_remote_mac_pool"
info

メモ:無人 CI では VNC より SSH 優先の切り分け。対話キーチェーンプロンプトが必要ならスケジュール・記録してからヘッドレスエージェントへ——上記 SSH チェックリスト参照。

クローズ後はキュー待ち時間ホストディスク水位を監視:前者は workflow の誤バインド、後者はキャッシュ政策の暴走。UI スイートとコンパイルが同一ホストなら Maestro キュー設計 と併読——重いコンパイルとシミュレータファームは IO プロファイルが異なります。

04

分数課金・同時実行スロット・キュー—ベンダー言語をリリース SLA に翻訳

マネージド CI 価格は二つのレバーで読むのがよい:ジョブ時間(分数)と同時 macOS ジョブ数(スロット)。相互作用します:遅い Archive がスロットを占有すると他 workflow を塞ぎ、分数メーターが「まあまあ」でも。リリース週の痛みは単発の遅いコンパイルより、スロット上限での並列 workflow 衝突で緑ダッシュボードがリリース列車逃しになります。

ベンダーダッシュボードをエンジニアリング受け入れ条件に翻訳。例:エスカレーション前の最大キュー時間、コミットあたり最大リトライ、UI スイートと Archive のスロット共有可否、ナイトリーが release タグ用ピークスロットを消費できるか。署名 RACI と同一文書に。

専用リモート Mac は会話を反転:キューはあるが自社のキュー——CPU、メモリ、ディスク IO、公開した正直な並列政策で境界づけ。Linux VPS 艦隊と同様、二 vCPU で十二 Docker をミューテックスなしでは回さない;Apple シリコンも同様に。workflow ミューテックス、オーケストレータごとの Unix ユーザー、リスク別マシン分割。

warning

注意:空きディスクがチーム閾値を下回ったらスケジュール停止;意図的クリーンアップと削除パスの監査ログ。ディスク満タンのスロット飢餓は UI では「謎のキュー」に見えます。

財務は「リリース週の救火削減時間」と「回避した緊急クラウド分数購入」を単価だけでなく追跡。セルフホストは可視 Codemagic 請求をパッチ・Xcode・エージェント更新と交換;専用リースは多地域物流を含むことも——四半期レビューに三つとも。セキュリティ:セルフホストエージェントは任意 repo スクリプト実行——本番サーバー扱い:SSH 鍵ローテ、鍵のみ認証、最小 sudo、隔離ビルドアカウント。

同一資産で AI コーディングエージェントや OpenClaw Gateway を動かすなら、ポートと作業ルートを CI ツリーから分離——macOS で launchd の Gateway を併読し、自動化サイドカーが Archive のディスクを奪わないように。

05

社内 RFC に貼れる三つの数値—移行議論の収束方法

repo 規模と並列政策で閾値を調整;目標はレビュー可能な数値で、普遍定数ではない。

  • ディスク水位:CI ボリュームは空き 20% 以上;破壊的クリーン前にスケジュール停止——Bitrise・CircleCI 記事と同じ基線。
  • 同時実行プローブ:Archive ジョブごとのメモリピークを測ってからスロットを線形拡張——Apple シリコンのリンカピークは平均を大きく上回ることが多い。
  • 分数とリースのクロスオーバー:90 日課金分数+スロットアップグレードが専用リース+運用工数を超えたら、ハイブリッドかフルセルフホストは正式パイロットの価値あり——廊下投票ではなく。

借り PC はスリープ方針・突発 OS 更新・人手の電源断に当たる。グレー macOS 仮想化は監査に弱くシミュレータ忠実度を壊す。Codemagic(またはモバイル向けオーケストレータ)を慣れたコントロールプレーンに残し、macOS 実行を専用・常時・SSH 可能なリモートノードへ置くと、パイプラインは「たまに緑」から「契約級」へ。

使い捨て個人 HW や不透明共有ホストと比べ、マネージド分数だけでディスク・署名境界がないと予測不能キューリトライ分数スパイク、インシデント時の弱い監査証跡になりがち。iOS ビルド・CI/CD・エージェント横断で24/7 予測可能自動化・明確な鍵境界・安定ディスク階層なら NodeMini Mac mini クラウドリースが強い実行プレーン:マネージド CI は統合体験、専用ノードは SSH 可能容量、スロットと水位は自社 Runbook へ。レンタル料金で SKU 比較、ヘルプセンターでオンボーディング。

本 Runbook を社内ツールチェーン変更ティアに結び、マイナー/メジャー Xcode アップグレードで承認とキャッシュ無効範囲を分ける——「アップグレード日全赤」で署名/ディスク境界に帰属できない事態を防ぐ。

FAQ

よくある質問

専用同時実行、温キャッシュ、制御可能な署名ドメイン、常時稼働ホストでの VPS 型 SSH 切り分けが必要なとき。二週間パイロットでキュー P95、課金分数、ディスク増分を記録。全 workflow 書き換え前に レンタル料金 で HW ティアを比較。

スロットは並列 macOS ジョブを制限;ジョブ実行中は分数が累積——ピーク時は各ジョブが速くてもリリースがキュー。最悪並列をモデル化し最大キュー分数を SLA に、ヘルプセンター で接続基線を検証。

はい——Codemagic をコントロールプレーンに、重いワークフローを専用リモート Mac プールへ。軽い PR はクラウド、Archive・署名は専用ホスト。複数オーケストレータなら GitHub Actions ランナーラベル も併読。