整台资源归同一个租户使用
XcNode 不把同一台机器拆成多个租户的虚拟实例。CPU、GPU 和统一内存不与其他租户分摊,也不依赖虚拟 GPU 映射。Xcode、模拟器和 Metal 在原生 macOS 环境中运行。
独享不等于无限并发。编译进程、模拟器、索引服务和模型推理仍然共享你这台机器的内存。先观察内存压力,再增加并行度;不要一开始就把所有 runner 同时开满。
把设备采购、部署时间和闲置责任放在同一张表里。虚拟机的能力取决于具体服务,不能仅凭“云端 Mac”这个名称判断。
| 比较项 | 自购 Mac | 云端虚拟机 | XcNode 独享物理机 |
|---|---|---|---|
| 前期投入 | 一次性购买设备;还要安排放置、供电、网络和远程访问。 | 按服务商配置与周期付费;核对资源配额和额外计费项。 | 按天、周、月或季预付,不需要先购置一台设备。 |
| 交付速度 | 采购到货后,自行安装工具链、配置网络并验证构建。 | 按服务商流程创建实例;系统镜像和工具版本需另行核对。 | 支付与交付状态在控制台查看;拿到凭据后连接并验证工程。 |
| macOS 许可合规 | 在 Apple 硬件上运行;软件使用仍需遵守相应许可条款。 | 确认宿主硬件、虚拟化方式和服务条款,不能只看系统名称。 | 在 Apple Silicon 物理节点上运行原生 macOS,不采用虚拟机交付。 |
| 性能稳定性 | 资源由自己管理;本地交互、测试和构建可能相互竞争。 | 核对是否共享宿主、CPU 配额、GPU 支持和存储限制。 | 一台机器只分配给一个租户;自己的并行任务仍会争用机器资源。 |
| 团队共享 | 自行管理网络入口、成员权限、密钥和图形桌面使用顺序。 | 取决于实例权限、访问方式和服务商的协作限制。 | 可安排远程开发或 CI;成员权限、构建队列和桌面会话由团队管理。 |
| 闲置成本 | 项目结束后仍持有设备,承担折旧、存放和运维责任。 | 按服务商规则停用;核对磁盘、快照等是否继续产生费用。 | 按项目选择租期;已开始的周期不会因停止构建自动暂停计费。 |
先看统一内存和工程占用,再看租金。以下是基础机型价格,不含存储扩展或 Thunderbolt 5 并联附加项。
| 配置 / 周期 | Node Core M4 | Node Pro M4 |
|---|---|---|
| 芯片 | M4 | M4 Pro |
| 统一内存 | 16GB | 64GB |
| SSD | 256GB | 2TB |
| 日付 | $21.3/天 | $59.1/天 |
| 周付 | $57.6/周 | $159.6/周 |
| 月付 | $106.7/月 | $295.6/月 |
| 季付 | $290.2/季 | $804/季 |
| 可选节点 | 新加坡 / 东京 / 首尔 / 香港 | 新加坡 / 东京 / 首尔 / 香港 |
| 选型起点 | 单人 Xcode 构建、串行自动化打包、TestFlight 分发。 | 并行模拟器测试、大型 Swift 工程、较高内存需求的本地模型实验。 |
| 选择配置 | 租用 Node Core M4 | 租用 Node Pro M4 |
两档均提供四个节点,实际可用状态以控制台实时返回为准。选型不是性能保证:同一个工程的依赖规模、编译选项、缓存命中率和测试并发,都会影响资源占用。
下表每格是一种独立周期的目录价格,不是将日价累加后的估算。周期越长,越需要先确认项目会持续占用这台机器。
| 机型 | 按天 | 按周 | 按月 | 按季 |
|---|---|---|---|---|
| Node Core M4 | $21.3 | $57.6 | $106.7 | $290.2 |
| Node Pro M4 | $59.1 | $159.6 | $295.6 | $804 |
只需复现一次构建、完成一轮发布或验证工具链,先按天安排;任务覆盖连续工作周,再比较周付。把依赖下载、证书配置和产物备份也算进使用时间,不要只计算编译那几十分钟。
每日跑 CI、保存稳定的构建缓存,或长期保留团队开发环境,可以比较月付与季付。先用真实工程验证,再决定更长周期;机器持续在线,不代表你的 runner 和构建脚本已经配置好自启。
美元结算。仅支持 USDT-TRC20 与 Visa / Mastercard / Amex(经 Stripe),实际可用网关以后端接口返回为准。附加项价格及账单组成请查看方案页。
原生 GPU、统一内存和完整 macOS 环境是一组能力;任务调度、工程兼容性和网络体验,是另一组需要自己验证的条件。
XcNode 不把同一台机器拆成多个租户的虚拟实例。CPU、GPU 和统一内存不与其他租户分摊,也不依赖虚拟 GPU 映射。Xcode、模拟器和 Metal 在原生 macOS 环境中运行。
独享不等于无限并发。编译进程、模拟器、索引服务和模型推理仍然共享你这台机器的内存。先观察内存压力,再增加并行度;不要一开始就把所有 runner 同时开满。
虚拟机是否适合你的工程,要核对 GPU 支持、系统权限、宿主共享方式和工具兼容性。不能简单断言所有虚拟机都慢,也不能把“能启动 macOS”视为完整开发环境。
物理节点同样需要验证 Xcode 版本、依赖架构、签名设置和模拟器运行时。远程桌面还受往返延迟影响;如果主要执行命令行构建,优先使用 SSH 与自动化队列。
把迁移分成三个可验收的阶段。以下时间是人工准备的预算区间,不是交付承诺;大仓库传输、依赖下载和完整测试可能需要更久。
准备预算:15–60 分钟
用 Git 获取源码,使用 Git LFS 拉取大文件,或通过 rsync 同步工作目录。不要直接搬运全部缓存;先确认仓库、子模块和构建所需资源完整,再通过安全连接传输签名证书。
rsync -av --exclude DerivedData \
~/project/ cloud-mac:~/project/
验收:源码版本一致,必要资源可读,敏感文件未进入公开仓库。
准备预算:20–90 分钟
检查 Xcode 路径与版本,将 Homebrew、Ruby 依赖和 Fastlane 配置写进清单。先执行一轮本地脚本式构建,再接自动化平台;这样更容易区分工具链问题与 runner 问题。
xcode-select -p
xcodebuild -version
bundle exec fastlane --version
验收:版本明确,同一条构建命令可重复运行并生成预期产物。
准备预算:15–45 分钟
从 GitHub Actions 或 GitLab CI 获取注册指令,绑定团队项目。先用低并发跑通构建、测试和产物上传;确认服务运行用户能访问工程、钥匙串与缓存目录后,再配置开机自启。
cd ~/actions-runner
./svc.sh install
./svc.sh start
验收:队列能领取任务,日志可追踪,重启后的服务行为符合预期。
命令中的 cloud-mac 是你在 SSH 配置中设置的节点别名;runner 示例要求先完成下载与注册。迁移完成后保留本地备份,在清理旧环境之前核对归档产物与测试结果。
大内存决定配置,持续使用决定周期。常驻 CI 本身并不意味着必须选择 Pro。
如果多个模拟器、大型 Swift 工程或本地模型同时运行,并且已经观察到明显内存压力,优先比较 Node Pro M4 的 64GB 统一内存。若以串行构建和单人发布为主,可以从 Node Core M4 开始验证。
先看同时运行的任务数,而不是只看“CI”这个标签。串行流水线可以先验证 Core;多路测试再评估 Pro。若每天都需要领取任务并保留缓存,比较月付或季付,同时配置服务自启与产物备份。
排查故障、验证构建或一次发布冲刺,先比较天与周。已经验证环境、项目持续运行,再比较月与季。结束前导出产物、备份工程,并确认续费或到期安排;不要把节点当成唯一的数据副本。
节点选择与机型选择分开考虑。新加坡、东京、首尔、香港均提供两档配置;从团队常用网络测试连接体验,优先选更适合主要使用者的节点。仅凭地理距离不能保证网络延迟。