电源、网络、散热交给机房你的构建节点全年 365 天在线

独享物理 Mac mini,不是虚拟机,没有计划停机。iOS 构建机放在新加坡、东京、首尔、香港、美国西部 5 个机房,整台只给你一个团队用。

Port M4 Base $19.7/天起按天 · 周 · 月 · 季USD 结算

构建排班板

tokyo-node-07 · Apple Silicon M4 Pro · 64GB 统一内存 · 2TB SSD

全年运行安排365 天在线运行服务安排示意 · 每格代表 1 天
流水线 · 示例排班
00:0006:0012:0018:00
main7 次 · 示例平均 6m12s
release/2.43 次 · 示例平均 9m40s
nightly02:00 起 · 含 UI 测试

nightly 示例任务:UI 测试 2h05m。不同分支共用本团队的 CPU、内存与磁盘;并发数量仍需按工程实测。

CPU 占用示意只有本团队的任务

排班、耗时与在线点为产品示意,不代表实测数据。实际可用状态以控制台实时返回为准。

常用的构建工具,照原样跑在独享节点上

Xcode fastlane GitHub Actions GitLab CI Jenkins Flutter React Native

这些工具按各自常规方式安装在节点上,用法与在你自己的 Mac 上一致。列出只说明运行方式,不代表合作或背书;工具版本、依赖与 runner 更新仍由你的团队管理。

先看取舍

自建、共享 runner、独享托管:各适合什么团队

三种做法都有人在认真使用。把适用和不适用并列写出,先对号入座,再决定要不要租一台 iOS 构建机。

自建路线

办公室自建 Mac mini

构建频率低、已有闲置 Mac 时更省

适用

  • 偶尔才打包一次,手上已有闲置 Mac。
  • 有人愿意管理电源、网络与系统更新。
  • 代码或依赖必须留在公司内网。

不适用

  • 每天多次合并,夜间构建不能依赖办公室供电。
  • 网络波动频繁,重启设备总要找人到场。
  • 希望把硬件值守从发布工程的职责里移走。
共享路线

共享托管 runner

构建量小、能接受排队时更省事

适用

  • 构建量小且分散,等待不影响日常合并。
  • 需要短时间扩到很多并发任务。
  • 希望尽量少管理机器环境。

不适用

  • 构建经常排队,发版节奏受共享容量影响。
  • 持续依赖 DerivedData 和依赖缓存提速。
  • 需要长期保留一套可控的 macOS 环境。
独享路线

机房托管的独享节点

构建频繁、不想值守硬件时更合适

适用

  • 每天多次合并,不想再管电源、网络和散热。
  • 要保留缓存,并自行安排分支构建顺序。
  • 团队用 Windows 开发,需要远端 macOS 打包。

不适用

  • 每月只打包一两次,已有设备长期闲置。
  • 要求瞬时扩到几十台,单台独享节点弹性有限。
  • 希望连项目依赖、证书与流水线也全部代管。
全年在线

节点在机房,全年 365 天在线

电源、网络和散热由机房负责。夜间 nightly 不再因为办公室断电被跳过。

365天

全年在线运行

节点不随办公室作息开关机。

0次

计划停机

不为服务方定期停机另排构建日程。

5个

机房区域

新加坡、东京、首尔、香港、美国西部。

1 台 / 1 团队

独享物理节点

不把同一台设备分给其他客户。

取舍说明:全年运行不等于硬件不会出故障。发生异常时,先通过工单提交节点与错误信息,再协助排查、更换节点及恢复环境。代码、签名材料、构建产物与必要缓存,请保留独立备份;换机后的 runner 绑定与环境恢复仍需要团队配合。

看换机流程
独享物理机

整台 Mac mini 只给你一个团队

不是虚拟机,也不切分给其他客户。下面四件事,是独享物理机和共享方案的直接差异。

独享

整机只给一个客户

节点登记在你的账户下,租期内不会分配给第二个团队。团队内部可以接入多名开发者或多条流水线。

物理节点

不是虚拟机

构建直接跑在 Apple Silicon 物理机上。macOS 图形界面和命令行完整可用,按项目需要管理工具与依赖。

OSXPort 轨道环站标OSXPort1 台 · 1 个团队
缓存

缓存留在原处

DerivedData、CocoaPods 与 SPM 缓存不会被其他客户的任务清掉。你仍需设置清理策略,避免归档和缓存占满 SSD。

并行

不和别人抢 CPU

main 与 release 同时构建时,只和本团队任务分资源。独享不代表无限并发,模拟器和编译任务仍共享整机容量。

Apple Silicon M4 / M4 Pro

M4 还是 M4 Pro:按工程规模选

两种芯片对应三档节点。单 App 项目先从 M4 试跑,大型多 target 工程、更多并发测试与模型推理,再评估 M4 Pro 64GB。

Apple Silicon M4

对应 Port M4 Base 与 Port M4 Plus

芯片
Apple Silicon M4
统一内存
16GB / 24GB
存储
256GB / 512GB SSD

M4 足够的项目

  • 单 App 或少量 target。
  • 日常编译、归档和自动分发。
  • 控制模拟器数量,保留增量缓存。

不建议

  • 16GB 同时运行多个模拟器。
  • 大型工程长期高并发且不限制任务数。

Apple Silicon M4 Pro

对应 Port M4 Pro

芯片
Apple Silicon M4 Pro
统一内存
64GB
存储
2TB SSD

需要更多余量

  • 大型多 target、多 scheme 工程。
  • 多个模拟器并发 UI 测试。
  • 适合内存容量的本地模型推理与量化评测。

不需要的情形

  • 单 App 每日少量打包。
  • 需要多卡训练或特定加速硬件。
完整价格

三档节点,从 $19.7/天起

每档都是整台独享物理 Mac mini,均提供 5 个区域。按天适合试跑流水线,按月或按季适合常驻 nightly;实际可用状态以控制台实时返回为准。

USD 结算 · 支持 USDT-TRC20 与 Visa / Mastercard / Amex(经 Stripe)。实际可用网关以后端返回为准。

对照选型表
没有 Mac 也能打包

Windows 和 Flutter 团队,把 ipa 交给节点去打

Windows 电脑怎么打包 iOS?

在 Windows 上照常写代码、提交和推送。构建交给独享节点上的 runner:拉取代码,用 xcodebuild 或 fastlane gym 生成 ipa,再把产物回传到流水线。开发终端不需要换成 Mac。

Flutter 打包 iOS 需要 Mac 吗?

需要 macOS 构建环境,但不需要你在办公室放一台。节点装好 Flutter、Xcode 与项目依赖后,远程执行 flutter build ipa,使用你导入的证书和描述文件完成签名。

签名前提:你仍需具备有效的 Apple 开发者计划资格,并自行准备签名证书、描述文件与 App Store Connect API Key。租用节点提供构建环境,不替代这些发布条件。

  1. 1

    在 Windows 上推送代码

    保留现有开发环境,将变更推送到团队仓库。

    git push origin main
  2. 2

    节点上的 runner 接到任务

    注册自托管 runner,并用标签把 macOS 任务送到对应节点。本团队的任务仍需设置合理并发。

    runs-on: [self-hosted, macOS, osxport]
  3. 3

    构建并签名 ipa

    导入证书、描述文件并配置签名。机密放入 CI 的安全变量,不写入代码库。

    flutter build ipa --release
  4. 4

    上传 TestFlight

    通过 App Store Connect API Key 配置自动上传,把错误日志和产物位置返回流水线。

    fastlane pilot upload
示例场景

三种团队,三条流水线

以下是典型场景的自述示例,用来帮助选型,不是具名客户评价,也不是性能测试结果。

5 人外包团队的夜间构建

凌晨 2 点nightly 排班时间

“以前构建机放在办公室,周末断电就要重新安排任务。现在把 nightly 放到新加坡节点,代码和报告回到原来的流水线,团队不必再轮流照看设备。”

如果项目必须连接公司内网设备,先确认远端网络是否满足要求。

Port M4 Base · 按月 $98.5

Flutter 团队无 Mac 打包

0 台本地 Mac

“全员用 Windows 写 Flutter,推送后由东京节点完成 ipa 构建和 TestFlight 上传。签名材料由我们管理,失败时先看 CI 日志,不再临时借 Mac 打包。”

远端构建不替代本地真机调试;涉及设备交互的验证仍要单独安排。

Port M4 Base · 按天 $19.7 起

发版周的并行构建

3 条待安排的分支流水线

“main、release 和 hotfix 都要出包。我们把轻任务并行,耗内存的测试分批执行;独享节点只处理自己的工作,不必等待其他客户释放资源。”

先测峰值内存与归档耗时,再决定并发数。三条分支不等于必须同时跑三次完整构建。

Port M4 Plus · 按月 $201.6

常见问题

开机前常被问到的事

还没决定要不要租?带上团队人数、每日构建次数、单次归档耗时和主要发布区域来咨询。已有闲置设备、构建频率低时,我们会如实建议先继续自建。

节点真的没有计划停机吗?

节点在机房全年 365 天在线运行,没有计划停机。硬件异常仍可能影响任务;请登录控制台提交工单,说明节点、故障现象和最近操作,配合排查与换机。运行安排不是历史无故障记录。

能自己装 Homebrew、选 Xcode 版本吗?

可以按流水线需要管理 Homebrew、Xcode 和项目依赖。切换 Xcode 前先确认 SDK 与项目要求,将工具版本写入构建记录;不要让多个任务同时修改同一套全局环境。

按天用多久之后改月付更划算?

用月价除以日价即可比较。Port M4 Base 按天 $19.7、按月 $98.5,按目录价格折算,五个日付周期与一个月付周期的费用相同;预计继续使用时,选月付更合适。周期起止与续费规则请在下单时核对。

支持哪些付款方式?

统一以美元(USD)结算,仅支持 USDT-TRC20 与 Visa / Mastercard / Amex(经 Stripe)。以结账时后端返回的可用网关为准。付款前核对订单、金额和支付网络。

一台节点能多人共用吗?

可以在团队内部共用,例如多个开发者和多条流水线使用同一台节点;不会分配给其他客户。请为构建目录、签名材料和 runner 权限做隔离,并限制同时运行的编译与模拟器任务。

下一步

先开一天试跑你的流水线

按天计费,Port M4 Base $19.7/天。接上现有 runner,跑一次干净构建、一次增量构建和一次完整签名归档,再决定是否改为月付或季付。

示例账单 · 月付

节点区域
东京
Port M4 Plus
$201.6
+1TB SSD
$12.9
合计 · USD
$214.5

月付示例合计 = $201.6 + $12.9,不含其他加购。

支付:USDT-TRC20 或 Visa / Mastercard / Amex(经 Stripe)。