Arm Line M4
M4 / 16GB / 256GB
适合首次 Xcode 构建、单条 CI 构建线和临时 iOS 出包。先用真实工程验证依赖安装、缓存大小与构建流程。
$21.2/天
租用 Arm Line M4租一台独享 Apple Silicon 物理节点,把连接、工具链和构建逐项验收。先跑通一个工程,再接入团队 CI。
两档机型,5 个节点,$21.2/天起。整台独享,非虚拟机;交付状态与实际可用性以控制台实时返回为准。
纯编译和首次验证从 Arm Line M4 开始。模型推理、较大的统一内存需求选 Arm Grid M4 Pro。不要仅按工程目录大小判断内存需求,也要考虑并发任务和工具链占用。
M4 / 16GB / 256GB
适合首次 Xcode 构建、单条 CI 构建线和临时 iOS 出包。先用真实工程验证依赖安装、缓存大小与构建流程。
$21.2/天
租用 Arm Line M4M4 Pro / 64GB / 2TB
适合模型推理、更大的构建缓存和内存占用较高的工作流。能否承载具体模型,仍要结合量化方式、上下文长度与运行参数验证。
$59.8/天
租用 Arm Grid M4 Pro新加坡、日本(东京)、韩国(首尔)、香港、美国东部。交互式桌面优先考虑团队所在地到节点的网络路径;无人值守构建还要考虑代码拉取、依赖下载与产物回传。地理距离只是起点,不等于实测延迟。
首次租用可先选天租,用同一份工程跑完整流程,再决定是否使用更长周期。四种周期及附加项的完整价格见方案页。
仅支持 USDT-TRC20 与 Visa / Mastercard / Amex(经 Stripe),全部以美元(USD)结算。实际可用网关以后端接口返回为准。
确认机型、周期、节点和加购项。USDT 转账必须选择 TRC20 网络,并逐项核对支付页面给出的收款信息与金额,不复用旧订单的付款信息。
链上付款需要确认,到账速度随网络状态变化;银行卡付款以支付结果及订单状态为准。不要因为页面暂未更新而重复付款,也不要把支付成功等同于节点已交付。
在控制台查看交付状态。节点可用后,核对 IP、登录用户名、初始密码和连接端口。若付款凭证与订单状态不一致,提交工单并附订单号及交易哈希或付款凭证。
以下命令在你的本地终端执行。按提示填入控制台实际显示的地址、端口与用户名,不把文档示例当作连接凭据。
read -r -p "Node IP: " NODE_IP
read -r -p "SSH port: " SSH_PORT
read -r -p "Login user: " NODE_USER
ssh -p "$SSH_PORT" "$NODE_USER@$NODE_IP"
首次连接会显示主机指纹。先通过可信渠道核对再接受;如果已保存的指纹发生变化,应先确认是否重装或更换节点,不直接跳过校验。
whoami
hostname
passwd
passwd 在云端 Mac 的 SSH 会话中执行。按提示输入旧密码与新密码,输入过程不显示字符。密码不要与其他服务复用,也不要写入构建日志。
| 字段 | 填写内容 | 核对方式 |
|---|---|---|
| 服务器地址 | 控制台提供的节点 IP | 与当前订单对应,不填本地电脑地址。 |
| 端口 | 控制台提供的 VNC 端口 | 客户端若单独提供端口栏,分别填写;不要自行猜测端口。 |
| 认证信息 | 控制台提供的图形连接凭据 | 不要假设 VNC 密码与 SSH 密码始终相同。 |
| 初始显示设置 | 从较低分辨率开始 | 先确认画面与输入正常,再根据带宽提高画质。 |
macOS 也可使用系统屏幕共享。更改登录密码后,按交付说明核对图形连接认证是否需要同步更新。不要把 VNC 服务直接暴露给不受信任的网络。
以下命令在云端 Mac 上执行。先核对系统和已有工具,再安装缺少的组件。不要为照抄示例而覆盖团队已经固定的 Xcode、Ruby 或依赖版本。
sw_vers
uname -m
df -h /
ls /Applications
xcode-select -p
xcodebuild -version
xcode-select 指向独立命令行工具时,不能据此判断完整 Xcode 已可用。若未安装完整 Xcode,先准备团队许可范围内的安装包,解压后放入 /Applications;磁盘空间还要覆盖解压、依赖与归档产物。
sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
sudo xcodebuild -license
sudo xcodebuild -runFirstLaunch
xcodebuild -version
xcodebuild -showsdks
上例假定应用名为 Xcode.app。多版本并存时改成实际路径;接受许可前先阅读条款。为避免改变其他任务的工具链,单次构建也可以设置 DEVELOPER_DIR 指向所需版本。
command -v brew
brew --version
ruby --version
bundle --version
如果 Homebrew 尚未安装,使用团队审核的安装流程;不要粘贴来源不明的远程安装脚本。Apple Silicon 常见安装路径为 /opt/homebrew,以实际输出为准。已安装但当前会话找不到时,可加载它的环境:
eval "$(/opt/homebrew/bin/brew shellenv)"
brew install ruby
export PATH="$(brew --prefix ruby)/bin:$PATH"
gem install bundler
bundle install
bundle exec fastlane --version
后四条在工程目录中执行,并假定仓库已有固定 Fastlane 依赖的 Gemfile 与锁文件。没有这些文件时,先由团队确定依赖版本并提交锁文件,再安装。不要用管理员权限向系统 Ruby 批量安装构建依赖。
read -r -p "Workspace path: " WORKSPACE
read -r -p "Shared scheme: " SCHEME
xcodebuild -list -workspace "$WORKSPACE"
xcodebuild \
-workspace "$WORKSPACE" \
-scheme "$SCHEME" \
-destination 'generic/platform=iOS' \
-archivePath "$HOME/BuildArtifacts/FirstBuild.xcarchive" \
CODE_SIGNING_ALLOWED=NO \
archive
先进入工程目录,安装项目声明的依赖,并确认 scheme 已共享。只有 .xcodeproj 的工程使用 -project 替换 -workspace。此命令用于验证编译与归档链路,不会生成可分发的签名包,也不保证所有依赖签名的构建脚本都能通过。
GitHub Actions 与 GitLab Runner 任选与你的代码平台一致的一种。先用一条受信任分支验证任务,确认服务用户、环境变量和钥匙串访问,再让正式流水线接管。
在仓库或组织的 runner 设置中选择 macOS 与 ARM64,按平台当前指引下载软件包、校验并解压到独立目录。以下命令在解压目录执行,注册 URL 与短期 token 都从当前设置页面取得。
read -r -p "Repository or organization URL: " RUNNER_URL
read -r -s -p "Registration token: " RUNNER_TOKEN
printf '\n'
./config.sh \
--url "$RUNNER_URL" \
--token "$RUNNER_TOKEN" \
--labels armvnc,macos,arm64
unset RUNNER_TOKEN
./svc.sh install
./svc.sh start
./svc.sh status
在工作流中使用 runs-on: [self-hosted, macOS, ARM64, armvnc],并核对平台显示的实际标签。用户服务的启动与登录会话有关,安装后应验证重新登录与重启后的恢复行为,不把注册成功等同于任意状态下都会执行任务。
先在项目或组设置创建 runner,取得认证 token。Homebrew 已配置后,可安装 runner 并按交互提示注册。服务使用当前用户运行,构建文件与凭据也应归该用户管理。
brew install gitlab-runner
read -r -p "CI server URL: " CI_SERVER_URL
read -r -s -p "Runner authentication token: " RUNNER_TOKEN
printf '\n'
gitlab-runner register \
--url "$CI_SERVER_URL" \
--token "$RUNNER_TOKEN" \
--executor shell \
--description "ArmVNC macOS ARM64"
unset RUNNER_TOKEN
gitlab-runner install
gitlab-runner start
gitlab-runner status
gitlab-runner verify
在平台设置中配置标签与受保护分支策略,流水线的 tags 要与 runner 标签一致。用户服务通常依赖登录会话;按当前 runner 版本说明检查 LaunchAgent 和启动行为,不要再用另一套服务管理方式重复启动同一个实例。
whoami、xcode-select -p 与 xcodebuild -version,确认任务不是跑在另一套环境里。节点全年 365 天正常运行,但 CI 进程仍由你管理。退出登录、更新系统或重启之后,应确认 runner 服务、网络和签名环境均已恢复;退租前先移除平台注册关系、撤销凭据并回传产物。
判断一个概念是否重要,先看它会改变哪一步操作:资源归属、连接方式、任务执行,或多机协作。
把已验证的 Xcode 版本、依赖锁文件和构建命令写进仓库。遇到问题时,先定位连接层、工具链层还是工程层,再携带最小复现信息求助。
从天租开始,先确认连接、依赖和 archive。仅 USDT-TRC20 与 Visa / Mastercard / Amex(经 Stripe),USD 结算。