独享物理 Mac mini

让 iOS 打包与
App 自动化构建持续跑

每个订单交付一台独享物理 Mac mini,不是虚拟机。通过 SSH 或 VNC 接入,把 Xcode、fastlane 与现有 CI 流程放到可核验的云端节点。

Mac Mini M4 16GB RAM 5 个节点 $20.3 / 天
连接新加坡、东京、首尔、香港和美国东部节点的 RunnerVM Mac mini 构建集群 5 REGIONS · READY 一个订单,一台物理节点

立即租用

选择 Runner M4、五个区域之一与计费周期,再按工作负载确认存储或 Thunderbolt 5 并联选项。

前往下单

先看配置

核对 M4、16GB RAM、256GB SSD、四种计费周期以及全部附加选项,再决定节点和租期。

打开方案页
适用场景

按任务安排节点,不替工作流制造新概念

RunnerVM 提供的是独享物理 Mac 节点。仓库策略、签名权限、依赖缓存和发布规则仍由团队按照项目要求配置。

CI

iOS / macOS 持续集成

将节点注册到现有 CI,按仓库隔离工作目录。建议锁定工具链版本、限制构建账户权限,并为依赖缓存设置明确的失效规则。

CI RUNNER
XC

Xcode 云端编译

先确认 Xcode、SDK 和 Command Line Tools 版本,再导入证书与描述文件,执行 archive、export 和产物校验。

XCODEBUILD

远程开发

通过 SSH 处理脚本、依赖和后台任务;需要图形界面时再使用 VNC。断开远程桌面前,应确认构建任务运行在可持续的会话中。

SSH + VNC
AI

AI 实验

先测量模型内存峰值、磁盘占用和数据传输路径。Runner M4 适合可在 16GB 内存边界内运行的实验,更大任务应先完成容量评估。

EVALUATE FIRST
构建跑道

一条可重复的 App 自动化打包链路

固定提交、隔离签名材料、保存完整日志,并对导出的 IPA、dSYM 和归档结果逐项校验。

build-lane / ios-release / current-run 任务编排

Build lane · ios-release

下面的命令和目录仅展示链路结构,实际参数应与项目配置保持一致。

可追踪日志
  1. 01

    代码推送

    检出固定提交,核验子模块,并按照锁文件恢复依赖缓存。

  2. 02

    证书注入

    创建临时钥匙串,导入证书与描述文件,并限制访问范围。

  3. 03

    执行构建

    运行 xcodebuild 或 fastlane,持续保存标准输出和错误日志。

  4. 04

    产物归档

    校验 IPA、dSYM、Archive 与导出日志,再移交后续流程。

$ fastlane ios release --env runner
→ archive/RunnerApp.ipa
→ archive/RunnerApp.app.dSYM.zip
→ checksum verified
工程视图

命令、硬件与用途放在同一张检查表

连接后先核验主机指纹、系统信息与工具链版本。示例命令需要按项目、证书和目录结构调整。

runner-m4-sg · build session SSH
developer@local $ ssh runner@sg-m4-node
Host fingerprint verified
Dedicated physical Mac mini

runner@node $ xcodebuild \
  -workspace RunnerApp.xcworkspace \
  -scheme RunnerApp \
  -configuration Release archive
** ARCHIVE SUCCEEDED **

runner@node $ fastlane ios package
[12:43:31] Export RunnerApp.ipa
[12:43:52] Verify artifact checksum
lane completed
示例输出仅用于说明连接、归档和导出顺序;主机名、目录、Scheme 与签名参数应替换为项目实际值。
硬件铭牌

Runner M4 规格

芯片
Mac Mini M4
内存
16GB RAM
存储
256GB SSD
连接
SSH / VNC
属性
独享物理 Mac mini,非虚拟机
选型建议

先用工作负载做判断

轻量构建
Runner M4
日常开发
Runner M4
AI 实验
先评估 16GB 内存边界、存储和 Thunderbolt 5 并联需求
5 个节点

从靠近团队、代码源或依赖镜像的位置开始

RunnerVM 全站共 5 个节点或机房:新加坡、日本(东京)、韩国(首尔)、香港、美国东部。所有目录内组合常态可订,实际可用性以控制台实时返回为准。

SG

新加坡

适合东南亚团队、区域代码源与依赖镜像。下单前从实际办公网络复测路由。

充足

JP

日本(东京)

适合日本及东北亚工作流。建议同时测试 SSH 交互与大文件传输路径。

充足

KR

韩国(首尔)

适合韩国本地开发与邻近区域任务。跨境访问应结合 p95 和路由结果判断。

充足

HK

香港

适合需要连接东亚与东南亚网络的团队。应从代码源所在网络补充测试。

充足

US-E

美国东部

适合美国东部团队及邻近服务。亚洲团队应重点评估跨洋路由和文件同步。

充足
节点互测

节点延迟实测记录

以下样本展示节点之间 ICMP ping 的 p50、p95、采样时间和网络运营商。团队到节点的实际结果仍需从自己的网络复测。

五节点互测样本

每条路由连续采集 20 个 ICMP echo 请求,间隔 1 秒。

20 PACKETS / ROUTE
测试来源 目标节点 p50 p95 采样时间 网络运营商
新加坡 日本(东京) 67.4 ms 72.8 ms 02:10 UTC Cogent / NTT
日本(东京) 韩国(首尔) 31.2 ms 35.9 ms 02:14 UTC IIJ / KT
韩国(首尔) 香港 48.6 ms 55.1 ms 02:18 UTC KT / PCCW
香港 新加坡 36.9 ms 42.7 ms 02:22 UTC PCCW / Singtel
美国东部 日本(东京) 168.3 ms 176.5 ms 02:26 UTC Zayo / NTT
测试口径:从对应 RunnerVM 节点发出 ICMP echo 请求并计算往返时间分位数。跨境路由、本地运营商、拥塞和测试时段都会影响结果;该表适合比较路径,不替代团队网络的实际验证。
唯一在售方案

Runner M4,从 $20.3 / 天开始

Mac Mini M4、16GB RAM、256GB SSD,支持按天、周、月、季租用。所有订单均以美元(USD)结算。

充足

Runner M4

Mac Mini M4 · 16GB RAM · 256GB SSD

每天$20.3
每周$54.7
每月$101.3
每季$275.5
立即租用 Runner M4

附加存储与 Thunderbolt 5 并联按所选周期另计。节点和选项的实际可用性以控制台实时返回为准。

服务状态

近 90 天状态按日记录

目标可用率、每日状态和已核验事件使用同一口径呈现。所有节点全年 365 天正常运行,不设置计划停机时段。

99.9%

目标可用率

每日记录用于定位区域网络或节点事件,不能替代具体订单和连接日志。

近 90 天逐日状态

每一格代表一个自然日。

正常记录

事件说明

状态记录会关联区域、节点、起止时间、影响范围与核验结论。服务抵扣或赔付以适用服务条款及最终核验结果为准。

查看服务条款
开发者答疑

下单前通常会确认的六件事

先明确设备属性、连接方式、工具链边界和订单周期,再决定是否把构建任务迁入云端 Mac。

独享物理机具体指什么?

一个订单对应一台独享物理 Mac mini。CPU、内存和本地存储来自该设备本身,RunnerVM 不把共享虚拟资源描述为独享设备。交付后应先核验主机信息、连接凭据和系统环境。

如何远程连接?

通过 SSH 处理命令行、依赖安装与自动化任务,通过 VNC 完成需要 macOS 图形界面的操作。首次连接应核验主机指纹、更新初始密码,并限制不必要的入站端口。

交付前需要准备什么?

提前列出 Xcode 与 SDK 版本、项目依赖、证书、描述文件、构建 Scheme、导出配置和网络方向。团队还应确定谁可以访问签名材料,以及日志和产物保存到哪里。

计费周期有哪些?

Runner M4 支持按天、周、月、季下单,对应价格分别为 $20.3/天、$54.7/周、$101.3/月、$275.5/季。订单起止时间、区域和附加项以控制台确认的信息为准。

订单结束后怎样处理数据?

请在订单结束前迁出代码、构建产物、日志和仍需保留的缓存。结束流程会撤销访问凭据并处理设备数据,团队也应同步撤销证书、令牌和仓库授权。

应该选择哪个节点?

优先考虑团队、代码源、依赖镜像和产物接收端的位置。建议从真实网络执行 ping、traceroute、SSH 交互和文件传输测试,不要仅凭城市距离选择节点。

下一条构建跑道

把下一次构建交给云端 Mac

选择 Runner M4 与五个区域之一,把 Xcode、fastlane 和现有 CI 流程迁入独享物理节点。需要确认存储、并联或构建流程时,可以先联系支持。