並行ビルドではCPUだけでなくxcodebuild archiveが出すIPA・xcarchive・dSYMを、クラッシュ照合や配布へ確実に外に出す設計が要る。論点は「置き場」ではなく保持・費用・遅延に合うストアの選定。本稿はGitHub ArtifactsとS3/MinIO・近傍キャッシュを対照し、拡容・再送・掃引を短く整理。アップロード前のRunner側は
自己ホストRunner・永続ディスクのFAQ、多リポのディスク競合は
DerivedDataのFAQ
参照。
1. GitHub Artifacts:導入は最短、上限も読みやすい
ArtifactsはRun紐づけと金額が読みやすい。長期dSYMは弱く、リージョンが割れたと専用ストアより遅いことも。短命成果物向き。長期保管はバケットを別設計。
2. S3、MinIO、近傍:支配性・位置・費用曲線
S3互換(S3、GCS+アダプタ、MinIO)は暗号・ライフサイクルでコンプラに乗る。近傍をMac mini群と同リージョンに置くとSaaS APIへ上げる無駄を削る。オンプレはMinIO。プレフィクスを製品線で分け、他ラインの法的保持を切らない。照合は同一ビルドdSYMの不変性・Object Lockが核。
3. 多リポ並行:扇状の容量
加算は+N回×物量×保持。プレフィクス分割で掃引を潰さない。ワーカーとストアを同ネットに。極端ならAPFS ステージング+aws s3 syncでクリティカル列と切り分け。
4. 再送遅延:マルチパート、同居、非同期
大物はマルチパートと出口合わせ。律速ならプールとバケット同居。遠方はdSYMをZIP化。非同期昇格は手順が許すときのみ。計測は各Runnerの上り。
5. 掃引:保持窓とライフサイクル
GitHubは保持窓越しに消え、永続URL前提は危うい。S3/MinIOは層遷移とPR短期/リリース長期を併用しやすい。法務要望をプレフィクスルールに落とし単一TTLにしない冪等掃引。バケット増加率を連休前に見失うとステージも破綻しがち。
6. ミニチェック
- 本番dSYM/IPA:保持・暗号・参照ログ
- Runner上りとストアリージョンの突合
- PRとリリースのライフサイクル分離
- 掃引が二重走査でも冪等
- 財務に製品線別の帯域・容量
上り最適化は Mac mini/macOS で
律速はネット+NVMe。Mac miniは低待機電力で常時Runner向き。macOSはxcodebuildとGatekeeper/SIP/FileVaultの説明に強い。
Runnerとバケットを近づける。 Macstripe ホーム で雲上MacとS3/MinIOを同図に。静音拠点を揃えたいなら今すぐ購入。