CDNMac M4
Mac Mini M4,适合 iOS 构建、macOS 开发测试与持续集成任务。
六个可选节点
最终可用状态、交付时长和附加项选择以控制台实时返回为准。
选择唯一在售的 CDNMac M4 与合适节点,完成结算后领取系统访问资料。随后加固连接、核对 Xcode 环境、执行 Archive,并把构建产物转移到受控存储。
每一步都有明确的输入和输出。不要在连接资料尚未加固时导入项目密钥,也不要在开发环境未核对前直接运行正式发布任务。
根据任务持续时间、开发者所在地、代码仓库位置和依赖下载路径选择。单次网络延迟只能作为参考,不能代替真实构建测试。
输出:订单配置草案再次核对 CDNMac M4、计费周期、节点、SSD 扩展和 Thunderbolt 5 并联数量,最终金额以结算页选择为准。
输出:订单标识在控制台查看设备状态、系统访问资料和管理入口。可用状态与交付信息以控制台实时返回为准。
输出:可验证的访问资料优先使用 SSH 密钥认证,限制允许来源,按用途分离命令行与图形会话凭据,并记录凭据轮换责任人。
输出:受控连接路径确认 macOS、Xcode、Command Line Tools、Git、证书和描述文件与项目要求一致,再执行依赖恢复。
输出:环境核对记录运行测试仓库的 Archive,检查签名结果、日志与导出文件,并将必要产物复制到团队控制的存储位置。
输出:首个可追踪构建这份清单用于减少下单后的配置变更和重复沟通。每行都应由项目负责人给出明确答案。
确认任务属于 iOS 自动化打包、macOS 开发测试、跨平台移动构建或 Apple Silicon 模型兼容性验证。
从新加坡、日本(东京)、韩国(首尔)、香港、美国东部、美国西部中选择,并记录选择依据。
按天适合临时验证,按周适合短期冲刺,按月或按季适合持续构建;不要只比较单个价格数字。
基础配置含 256GB SSD。评估源码、依赖缓存、DerivedData、Archive 和日志的峰值占用,再决定是否增加 SSD。
只有明确需要并行设备工作流时再评估 Thunderbolt 5 并联,并确认每台设备的数量与责任边界。
准备最小权限的仓库访问方式。不要复用个人长期令牌,也不要把私钥、令牌或证书密码写入仓库。
提前确定 Archive、导出包、符号文件和构建日志的接收位置,并安排租期结束前的数据导出。
当前提供 1 档独享物理机。每个订单对应一台云端 Mac,资源不与其他订单共享,且不是虚拟机。
Mac Mini M4,适合 iOS 构建、macOS 开发测试与持续集成任务。
最终可用状态、交付时长和附加项选择以控制台实时返回为准。
适合需要保留更多依赖缓存、Archive 和构建日志的持续开发任务。
适合较大的依赖目录、数据集、模型文件或需要更长时间保留产物的任务。
按每台计费。用于经过评估的并行设备工作流,不改变基础机型规格。
所有价格和订单均以美元(USD)结算。实际可用网关以后端接口返回为准。
在付款前核对订单金额、网络类型和收款信息。转账后保留必要的交易标识,用于订单关联或账单排查。
结算币种:USD银行卡支付经 Stripe 处理。确认账单信息与订单金额后完成授权,不要在支持请求中提交完整支付凭据。
网关:Stripe机型、租期、节点、SSD 扩展、并联数量和美元总额应与项目负责人确认的配置草案一致。
订单完成后,在控制台查看设备状态、系统访问资料与管理入口。首次连接只做身份核验和环境盘点,不要立即导入正式密钥。
两种连接方式可以同时存在,但凭据、授权范围和使用场景应分开管理。不要把长期密钥嵌入脚本或构建日志。
适合 Git 操作、依赖恢复、脚本执行、日志收集、Archive 和 self-hosted runner。优先使用独立密钥,并为不同自动化任务分配最小权限。
适合首次检查 Xcode、查看图形化设置、处理需要界面的开发工具和核对 Archive。图形会话不应成为共享凭据的理由。
不要只确认“Xcode 能打开”。应记录版本、路径、签名资料状态和磁盘余量,确保后续失败能够定位到具体变化。
| 检查项 | 建议核对方式 | 通过标准 | 异常时先做什么 |
|---|---|---|---|
| macOS | 记录系统版本与可用磁盘空间 | 满足项目工具链要求,空间可容纳依赖、缓存与 Archive | 清理无关缓存,重新评估 SSD 容量 |
| Xcode | 核对项目要求的主版本与当前选择路径 | 项目可打开,目标 SDK 与构建设置可读取 | 切换正确版本后重新解析工程 |
| Command Line Tools | xcode-select -p |
路径指向计划使用的 Xcode 工具链 | 修正选择路径,再检查命令版本 |
| Git | git --version 并测试最小权限仓库访问 |
能够读取测试仓库,不暴露长期凭据 | 检查密钥权限、来源限制与仓库授权 |
| 证书与描述文件 | 核对名称、用途、有效状态与项目标识 | 与测试目标匹配,且未导入无关资料 | 由项目负责人重新提供正确资料 |
| 依赖锁文件 | 确认锁文件已提交且与目标分支一致 | 依赖恢复结果可重复,未发生隐式升级 | 回到锁文件一致的提交重新恢复 |
sw_vers
xcodebuild -version
xcode-select -p
git --version
df -h
首次任务的目标不是立即发布,而是确认代码访问、依赖恢复、Archive、签名检查、日志保留与产物导出能够形成闭环。
使用最小权限凭据拉取已知可构建的提交,记录提交哈希和目标分支。
git clone <仓库地址>
按照项目锁文件恢复依赖。若需要 CocoaPods、Flutter 或其他工具,先记录其版本再执行。
保持锁文件与目标提交一致
明确 workspace、scheme、configuration 和 archivePath,避免依赖图形界面的隐式默认值。
xcodebuild archive -workspace App.xcworkspace -scheme App -archivePath build/App.xcarchive
检查目标标识、证书、描述文件和导出配置是否与测试任务一致,不要忽略签名警告。
记录签名检查结果与失败阶段
保留开始时间、结束时间、提交哈希、工具版本和失败步骤。分享日志前先移除令牌、路径中的敏感名称和证书密码。
日志应能关联到订单、节点与提交
将 Archive、导出文件和必要符号文件复制到团队控制的存储位置,并验证文件完整性和访问权限。
完成导出后再执行工作区清理
完成手动验证后,再将独享物理机注册为 self-hosted runner。自动化凭据、工作目录和清理策略都应按仓库隔离。
为 runner 设置可识别的名称,记录所属节点、项目范围和维护责任人。先运行只读测试任务,再开放构建权限。
记录项:名称、节点、仓库、责任人令牌只授予完成当前任务所需的仓库与操作权限。不要把令牌写入源码、缓存目录、构建日志或可下载产物。
原则:一项任务,一组最小权限不同仓库使用独立目录。明确哪些缓存可以复用、哪些产物必须导出,以及任务成功、失败和取消后分别如何清理。
策略:仓库隔离、缓存分级、失败可回收提交哈希、工具版本、任务开始与结束时间、依赖恢复结果、Archive 路径、产物校验信息。
私钥、访问令牌、证书密码、完整支付凭据以及与排障无关的敏感项目内容。
导出必要产物,撤销自动化令牌,移除仓库凭据,确认工作目录和缓存中不再保留项目资料。
下单前确认租期、六个节点之一和附加项;下单后先加固连接,再验证 Xcode 与首个 Archive。