构建路线选型

租、买、还是共享?

以一条 iOS 打包流水线为例

先看整台机器由谁使用,再算费用和运维投入。XCRent 提供独享物理 Mac mini,非虚拟机,按天、周、月、季计费;是否适合你的项目,交给同一份源码与构建记录判断。

日租从 $21.7 起。先验证,再决定是否延长租期。

把三条路线放到同一张表里

比较的是服务形态,不是不同芯片的跑分。共享平台的具体计费、排队与资源限制,需要核对所选产品;自购则需要把部署与日常管理一并纳入预算。

同一工程、同一工具链、同一构建任务下的选型检查项
检查项 租用独享云端 Mac 自购硬件 共享虚拟机
成本 XR Build 16 $108.3/月 起。节点租金明确;团队仍需安排工程、证书与流水线管理。 一次性采购,加上放置空间、网络、电力、备份和硬件管理。不能只用购买价格与租金比较。 可能按分钟或任务计费。核对是否计入启动、依赖安装、等待和工件存储,不能只看单次编译费用。
交付 下单后分配物理节点,预装 macOS 与 Xcode。分配情况和实际可用状态以控制台实时返回为准。 采购、到货、上架,再配置远程访问、工具链与构建用户。上线时间取决于团队自己的流程。 通常可按需创建环境,但可用规格、启动时间和任务排队取决于平台资源与服务规则。
独享性 整台物理节点只给一个租户。Xcode 编译、模拟器与 Keychain 不与其他租户共用同一台系统。 硬件归团队所有。是否专供构建、是否与日常开发混用,由团队自行决定。 虚拟机可有系统级隔离,但底层物理资源可能由多租户共享;不能把虚拟机隔离等同于整机独享。
升级弹性 可在控制台申请升档,或配置 +1TB / +2TB SSD 附加项。变更交付方式与数据迁移要求需先确认。 需要另行采购或调整设备配置。新增机器还要同步处理网络、远程管理与构建环境。 受平台规格和产品能力限制。核对内存、磁盘、持久化缓存及并发配额,不默认都能自由扩展。
缓存与状态 可管理自己的源码目录、依赖缓存和 DerivedData。需要建立清理策略,避免缓存占满系统盘。 可完全按团队要求管理缓存与状态,但磁盘告警、备份和恢复也由团队负责。 核对任务结束后环境是否销毁、缓存如何恢复、恢复耗时是否计费,以及哪些目录可以持久化。
运维责任 平台负责物理节点服务,租户负责项目、软件配置、证书权限、凭据和业务数据备份。 团队负责硬件、系统、网络及项目层运维。还需明确设备故障时谁处理、用什么替代节点。 平台管理基础环境,团队适配其任务生命周期、镜像更新与权限模型。遇到失败要区分平台问题和工程问题。

表格横向比较的是边界条件,不代表所有共享服务都存在相同排队时间,也不承诺某档机型的固定编译耗时。

每日 20 次打包,先算节点租金

假设同一团队持续使用一台 XR Build 24:M4 / 24GB / 512GB。这里的 20 次是工作量假设,不是性能承诺,也不代表允许同时运行 20 个构建任务。

预算核对

月付适合先稳定流程,季付适合已验证的持续负载

按每月 30 天、每季 90 天的计算假设,每月计划执行 600 次、每季计划执行 1,800 次。实际成功次数、重试次数和队列耗时,应从你自己的流水线记录读取。

月付

$204.1 / 月

适合项目刚迁移、工具链仍在调整,或还没有确认长期负载的阶段。先把一次完整 Archive、签名与工件导出跑通。

核对重点:是否能持续满足每日构建队列。

季付

$555.2 / 季

适合已验证环境、预计持续使用的流水线。按三个月为一个季度比较,季付比连续三次月付少 $57.1。

差额基准:$204.1 × 3 − $555.2 = $57.1

上述比较仅计算节点租金,未添加存储扩展或 Thunderbolt 5 并联费用。支付仅支持 USDT-TRC20 与 Visa / Mastercard / Amex(经 Stripe),全部以美元结算;实际可用网关以后端接口返回为准。

把工程师时间单独记账

节点租金可直接查目录,排队与故障成本则需要记录。保留提交到开跑的等待时间、任务执行时间、失败原因和人工介入时间。自购路线也要记入初次部署、系统更新、磁盘清理与硬件处理,避免把这些时间默认为零。

独享的是物理节点,不是无限并发

非虚拟机意味着一台节点的 CPU、统一内存、磁盘与 macOS 环境不与其他租户争抢。它减少了跨租户资源竞争,但同一租户自己的多个任务仍会相互影响。

编译与模拟器

冷编译、链接和模拟器会同时消耗 CPU、内存与磁盘。先用单任务建立基线,再逐步增加并发;观察内存压力与交换使用量,而不是仅按芯片名称推断可跑多少任务。

签名与 Keychain

证书与描述文件由租户管理,不与其他租户共用 Keychain。仍需规划构建用户、钥匙串解锁和私钥权限,避免同一团队的并发任务同时修改签名设置。

工具链与缓存

完整 macOS 图形界面与命令行可用,支持 Xcode 多版本切换。把版本选择写进任务,按工程分开缓存目录;升级工具链后重新核对依赖和构建结果。

选档依据应是你测到的瓶颈

三档目录分别为 XR Build 16(M4 / 16GB / 256GB)、XR Build 24(M4 / 24GB / 512GB)和 XR Build Pro 64(M4 Pro / 64GB / 2TB)。单工程先验证低档是否够用;内存压力持续偏高、模拟器矩阵增加或缓存规模扩大时,再评估更高档。机型选择不是对每个工程都成立的固定并发公式。

这些情况下,自购可能更合适

租用不替代所有本地设备。决定之前,先看团队是否需要物理接触、是否已有成熟运维,以及负载能否长期保持稳定。

长期固定负载,已有放置条件

如果构建任务长期稳定,团队已有网络、电力、远程管理和设备负责人,自购值得做完整成本评估。把采购、运行费用、工程师时间与故障替代设备放进同一份预算,不只比较硬件标价。

需要现场连接或接触设备

涉及本地外设、现场调试或必须直接操作设备的工作,保留本地机器更直接。可以把编译与归档迁到云端,把需要物理接触的测试留在本地,不必强行采用单一路线。

存在明确的内部部署要求

如果项目要求源码与构建环境留在企业内部,先确认数据处理与网络边界。是否能使用远程节点,应由团队的实际要求决定;节点独享本身不能代替内部审批或数据管理制度。

共享环境也有适用范围

如果构建次数少、任务短、环境可以无状态重建,并且能接受平台规格与队列规则,共享服务可以降低自管环境的工作量。先确认它是否支持所需的 Xcode 版本、签名方式和缓存策略;不要仅因为“即开即用”就忽略完整任务生命周期。

用一次可复现验证,结束纸面比较

不要拿不同提交、不同 Xcode 或不同缓存状态的结果做结论。把输入固定,再看等待、执行、失败与人工处理分别花了多少时间。

  1. 01

    固定输入

    选同一个提交、Scheme、构建配置与 Xcode 版本。保留依赖锁文件,明确这次是冷缓存还是已有缓存,并记录源码与依赖同步所需时间。

  2. 02

    跑完整链路

    从拉取源码到安装依赖、测试、Archive、签名与工件导出完整执行。测试成功不等于发布成功;核对最终工件、签名结果与构建日志。

  3. 03

    增加真实负载

    按团队的提交节奏逐步增加任务。记录队列等待、内存压力、磁盘余量和失败重试,再判断当前机型是否足够,或是否需要拆分任务到多个节点。

  4. 04

    确认长期责任

    安排证书更新、凭据管理、缓存清理与数据备份。核对续费路径和到期处理,再决定月付或季付;不把一次成功构建当成长期稳定运行的全部证据。

按天先租一台验证

带上你的工程、Scheme 与发布流程。先确认能够出包,再决定档位、并发和计费周期。

三档机型,六个节点。规格与四个周期价格在方案页逐项列出。