判断マトリクス · Xcode · Codesign · 資源プール

2026年小チーム共有リモートMac判断マトリクス:Xcode同時ビルドCodesignキーチェーン分割ビルドキュー・タイムアウトパラメータ一覧

2026年3月31日 Meshmac 読了目安 約8分

🏢💻 共有リモートMacの障害は署名取り違え同一ルート同時書込キューとタイムアウトのズレに集中しがち。プールFAQ調でSSH/キーチェーン並列・flockDerived Dataタイムアウト表を整理。併読:プールflockRunner

三類型の痛み

  1. 署名境界:同一ログイン文脈の混在でキーチェーンとプロファイルがずれ、codesign失敗の切り分けが難しい。
  2. 並列とI/O:同一DerivedData/Pods/成果物ルートへの同時書き込みで中間生成物が壊れる。
  3. 暗黙のキュー:ロック待ち・ジョブ上限・ランナーが不整合でゾンビがプールを塞ぐ。

SSH/VNC FAQ

SSH隔離 vs キーチェーン分割

SSHのみでは署名不足。両方必須。

観点 SSHセッション隔離 キーチェーン/署名の分割
守る対象 ログイン・所有者・セッション境界 証明書/秘密鍵・codesign ID・プロファイル整合
典型 アカウント分離、ロール鍵、Jump、鍵共有禁止 専用キーチェーン、CI非対話アンロック、環境別プロファイル
誤解 SSH=署名安全、同一アカウント多セッション混在 ログインキーチェーン共有、ローテなし

並列・flock・キュー

flockとRunner/スケジューラの上限を同源に。

方針 向く場面 パラメータの感覚
直列+flock 単一クローン、共有DerivedData、共通ツール/prefix書込 重ジョブ1flock -w 30~60。重い待ち5超で警告
限定並列 worktree分離、独立サンドボックス、読取キャッシュ高 1~2・軽2~4。空き15%未満で縮小連動
PFキュー GHA 等 ラベル=mutex、深さ10超で拡張→Runner表

Derived Data 比較

READMEとベースライン表にパス固定、掃除責任も明記。

方針 利点 リスクと緩和
既定DerivedData 手早い 同ルート競合→排他・掃除必須
リポ/worktree別 責任・並列説明が明確 ディスク増→剪定+ビルドIDログ
共有RO+書込サンドボックス 再コンパイル短縮 umask/所有者/flockをキューと一致。worktree表

タイムアウト一覧

p90〜p95+余白で調整。

項目 推奨値/説明
ロック待ち 30~60秒。再キュー/明示リトライ。無限待ち禁止
ジョブ全体 目安45~90分。アーカイブ/notaryは別枠延長
フェーズ 依存・compile・署名を分割計測。超過はツリーkill+ロック解放
アラート 重い待ち5超黄/10超赤。重い新規投入を止めやすく
  • □ ログ共通:ビルドID・アカウント・鍵分割。
  • □ 揺らぎ→並列減+半端掃除、安定性

運用五ステップ

  • 排他図:DerivedData・依存・署名・成果物・flock区間を一枚に。
  • アカウント/キーチェーン:必要な分割のみ。プロファイルは環境別、ローテ記名。
  • 同源設定:flock・Runner・キュー深度を同じ源から。
  • パス固定:リポ/worktreeごとのルートを文書化。
  • 二並列試験:待ち・リトライ・汚れ残りを確認。

FAQ

問:デフォルトキーチェーンでCI?

非推奨。専用キーチェーンをジョブで明示し、アンロック最小化。

問:並列数=物理コア?

まず排他とキュー。重い統合は一路〜二路が多い。

問:タイムアウトkillでキーチェーン破損?

キーチェーンより半端ディレクトリがリスク。kill後はサンドボックス破棄かクリーン再実行。

まとめ

SSH=身分/キーチェーン=署名/キュー=公平性。Runbook化で監査対応。ホーム購入ヘルプブログ

Xcode · Codesign · プール

専用ノードで署名・キューを検証

ログイン不要ヘルプ購入ホーム

キーチェーン 並列/キュー タイムアウト
プランを見る