云端 Mac 支持中心

先定位故障层,再提交可诊断的信息

连接不上、构建失败或 runner 停在队列里,不必从重装环境开始。先按订单、网络、系统、工具链四层排查,再把关键日志交给支持人员。

  • VNC、SSH、Xcode 与 CI/CD 分开诊断
  • 提交订单号、节点、时间与完整错误上下文
  • 密钥、令牌和签名密码必须从日志中删除
诊断运行单 BUILD-SUPPORT
准备排查
01
确认交付状态 订单、节点地址与凭据来源一致
基础层
02
区分连接路径 分别测试 VNC、SSH 与本地网络
网络层
03
缩小构建变量 固定 scheme、Xcode 版本与依赖状态
工具层
04
保留失败上下文 记录时间、命令、日志与已执行步骤
证据层
目标:让问题可复现、可定位、可继续处理 4 层诊断
按问题类型进入

六类支持入口,对应六种排查起点

先判断问题属于连接、构建、自动化、网络、存储还是结算。分类准确,能减少在不同日志之间来回切换。

远程连接

VNC 画面与会话

处理黑屏、超时、键盘布局、剪贴板和会话中断。先保留客户端名称、网络出口和发生时间。

Xcode 构建

签名、依赖与归档

核对证书、描述文件、Keychain 权限、DerivedData、依赖缓存、磁盘余量和导出配置。

CI/CD

Runner 队列与工作目录

检查标签匹配、服务进程、项目授权、并发数、工作目录权限和失败任务后的清理动作。

网络

仓库、依赖源与远程访问

区分本地网络、节点出口、代码仓库和依赖下载源,避免把单一服务超时误判为整机离线。

存储加购

容量评估与扩展咨询

先统计项目、DerivedData、依赖缓存、归档和模型文件占用,再咨询 +1TB、+2TB SSD 或并联需求。

账单

周期、附加项与支付记录

提供订单号、结算周期、支付类别和页面提示。不要在公开邮件中提交完整支付凭据或敏感信息。

七步快速自检

先确认机器可达,再进入工具链

按顺序执行。前一步没有确认,不要直接清缓存或重装依赖,否则会覆盖原始故障线索。

  1. 01

    检查订单状态

    登录控制台确认订单已交付,机型、周期和节点与当前排查对象一致。若订单信息异常,先记录订单号和页面提示。

    订单层
  2. 02

    核对节点地址

    确认 VNC 与 SSH 使用的是交付信息中的地址和端口,不要沿用旧节点、旧书签或其他订单的连接配置。

    寻址层
  3. 03

    确认账户凭据

    检查用户名、密码输入和键盘大小写状态。不要把密码、私钥或恢复信息粘贴进工单正文。

    访问层
  4. 04

    交叉测试 VNC 客户端

    记录客户端名称、版本和画质设置。若条件允许,用另一台本地设备或另一条网络复测,以区分客户端问题。

    桌面层
  5. 05

    测试 SSH 连通性

    记录 DNS 解析、连接建立和认证分别停在哪一步。VNC 不通但 SSH 正常,通常应优先检查图形会话而非整机网络。

    网络层
  6. 06

    检查磁盘空间

    关注系统盘剩余容量,以及 DerivedData、依赖目录、归档、模拟器和模型文件。空间不足会引发多种不直观的构建错误。

    资源层
  7. 07

    固定 Xcode 版本

    记录实际选中的 Xcode 路径和版本,确认 CI 脚本与交互式构建使用同一套工具链,再复现一次失败命令。

    工具层
远程访问排障

把画面问题、网络问题和输入问题分开

VNC 是图形会话,SSH 是命令行路径。两者分别测试,能快速判断故障位于本地客户端、网络链路还是节点会话。

远程访问常见现象、先行检查与工单材料
现象 先做什么 需要记录 不要做什么
VNC 黑屏 等待会话初始化,重新建立一次连接,并测试 SSH 是否正常响应。 客户端名称、发生时间、节点、SSH 测试结果和黑屏截图。 不要连续强制重连,也不要立即删除系统或用户配置。
连接超时 切换本地网络复测,确认地址和端口无误,并区分解析超时与认证超时。 本地网络类型、错误原文、开始与失败时间、其他网络的复测结果。 不要在日志中公开密码、私钥或完整认证内容。
键盘布局异常 核对本地与远端键盘布局、输入法和修饰键映射,使用纯文本编辑器验证。 客户端、键盘布局、异常按键和可复现步骤。 不要只用 IDE 快捷键判断,先排除应用自身键位配置。
剪贴板不可用 确认客户端已允许剪贴板同步,并分别测试纯文本和小段内容。 复制方向、内容类型、客户端版本和是否对所有应用失效。 不要用密钥、令牌或签名密码作为测试内容。
会话中断 记录中断前的操作和持续时间,再检查 SSH 是否仍在线以及本地网络是否切换。 精确发生时间、前台应用、网络变化、重连结果和相关日志。 不要反复重启构建任务,以免覆盖故障发生时的资源状态。
Xcode 构建故障

从第一个有效错误开始,不从最后一行开始

签名、缓存、磁盘和导出错误经常连锁出现。固定工具链和复现命令后,从日志中最早出现的明确失败原因向下排查。

SIGN

证书与描述文件

确认 bundle identifier、团队、证书类型和描述文件用途一致。自动签名与手动签名不要在同一目标中混用而不记录变更。

  • 记录失败 target 与 configuration
  • 核对签名资产有效期和适用范围
  • 保留 codesign 的完整错误上下文
KEYCHAIN

Keychain 权限

交互式构建成功、CI 构建失败时,重点检查 runner 会话能否访问所需签名项,以及任务上下文中的权限差异。

  • 比较本地终端与 runner 执行用户
  • 确认任务运行时钥匙串状态
  • 删除日志中的签名密码和敏感值
CACHE

DerivedData 与依赖缓存

先确认错误是否可稳定复现,再针对单个项目清理。不要把全盘删除缓存当作默认动作,否则难以判断真正失效的缓存层。

  • 记录缓存目录和命中策略
  • 固定 lockfile 与依赖管理器版本
  • 清理前后各保留一次构建日志
DISK

磁盘空间

归档、模拟器、依赖和历史产物会同时占用空间。空间不足不仅导致写入失败,也可能表现为依赖解压或签名过程异常。

  • 记录系统盘剩余容量
  • 按项目核对归档和缓存占用
  • 清理前确认需要保留的产物
EXPORT

归档与导出

区分 archive 创建失败与 export 失败。前者看编译和签名,后者重点核对导出选项、目标渠道和归档中的签名信息。

  • 注明 archive 是否成功生成
  • 保留导出配置与错误摘要
  • 确认产物目标和 scheme 一致
REPRO

最小可复现命令

工单中写清工作目录、Xcode 版本、scheme、configuration 和执行命令。若仅在 CI 中失败,同时提供去除敏感值后的环境差异。

  • 保留错误前后至少一段上下文
  • 说明图形界面构建是否成功
  • 列出已经尝试且无效的步骤
CI runner 排障

标签决定任务去哪,目录决定失败后留下什么

队列不动先看标签与在线状态;任务启动后失败,再看执行用户、工作目录、并发和清理策略。

Runner 核对表

四个变量必须一起记录

可执行检查
LABEL 标签匹配

任务要求的标签必须与 runner 注册标签完全对应,并确认没有被项目级条件或分支条件排除。

WORKDIR 工作目录

目录应由专用执行用户读写,项目之间避免共用会残留状态的临时路径。

CONCURRENCY 并发限制

根据内存、磁盘和构建类型设置并发。任务过多时,先判断是在排队还是已经争用资源。

CLEANUP 清理策略

明确每次任务结束后保留什么、删除什么,并为失败任务保留足够日志和诊断产物。

GitHub Actions

检查 runs-on 与 runner 组

确认仓库或组织对 runner 的访问范围、标签拼写、服务状态和工作目录权限。任务停在等待状态时,先看标签是否存在完全匹配的在线 runner。

GitLab CI

检查 tags 与项目授权

确认 job tags、runner 锁定范围、项目授权和并发配置。若任务已启动再失败,补充执行器日志与项目脚本输出。

其他 self-hosted runner

固定执行身份与生命周期

说明 runner 软件、启动方式、执行用户、工作目录和清理脚本。自定义调度器还应记录任务领取、超时和退出码处理方式。

术语小词典

八个词,先统一问题边界

提交咨询时使用同一组术语,可以避免把物理资源、远程协议和自动化软件混在一起描述。

物理节点
实际交付并运行 macOS 的 Apple Silicon 设备,不是从共享宿主机切出的虚拟实例。
独享
订单对应的计算、内存和本机存储由该用户使用,不与其他租户共享同一运行实例。
非虚拟机
系统直接运行在物理设备上。排障时应按真实 macOS 主机、网络和外设链路理解。
VNC
用于访问 macOS 图形界面的远程桌面协议。画面、输入和剪贴板问题通常从客户端与会话层排查。
SSH
用于命令行连接和自动化执行的协议。可辅助判断节点是否在线,以及图形会话故障是否独立存在。
self-hosted runner
由团队部署在云端 Mac 上、接收 CI 平台任务的执行程序,标签和项目权限由团队自行配置。
构建缓存
为减少重复下载和编译而保留的依赖或中间产物。缓存必须有版本键、容量边界和清理策略。
并联
针对适用任务咨询多台设备或 Thunderbolt 5 连接方式。它不代表所有构建工具会自动获得线性加速。
提交工单规范

让支持人员拿到信息就能开始诊断

工单的价值不在文字长度,而在时间、对象、复现步骤和原始错误是否完整。

工单材料清单 DIAGNOSTIC PACK
提交前检查
01

订单号与节点

写明出现问题的订单号,以及新加坡、东京、首尔或香港中的实际节点。多台机器需分别标注。

02

复现时间

提供包含时区的发生时间和持续时长。若问题反复出现,列出最近两到三次的时间点。

03

错误日志

保留错误前后的上下文、执行命令和退出码。截图可辅助说明,但不要用截图替代可复制的日志文本。

04

已执行步骤

按顺序列出已经检查、修改和复测的内容,并注明每一步结果,避免支持人员要求重复操作。

05

期望结果与实际结果

说明原本希望完成什么,以及当前停在哪个阶段。构建问题需注明 scheme、Xcode 版本和运行方式。

提交前脱敏

删除所有认证材料

从日志、截图和配置片段中删除密码、私钥、访问令牌、签名密码、支付凭据和其他可用于登录或授权的内容。

服务升级路径

不同问题,进入不同处理队列

选对入口比重复催问更有效。硬件与连接问题需要关联订单,一般使用咨询和企业需求则适合先整理场景。

咨询

使用与选型咨询

适合询问 Xcode 版本、CI 迁移、并发规模、存储需求和三档配置选择。

前往联系页
连接

VNC 或 SSH 故障

完成本页快速自检后,携带订单号、节点、发生时间和交叉测试结果提交控制台工单。

提交连接故障工单
硬件

疑似物理节点异常

若 VNC 与 SSH 均不可达,或存在可复现的磁盘、网络、设备异常,请停止重复任务并保留时间点与日志。

提交硬件异常工单
账单

订单与结算问题

提供订单号、周期、支付类别和页面提示。实际可用支付网关以控制台实时返回为准。

提交账单工单

准备好运行下一次构建了吗?

选择 Go M4 Core、Go M4 Plus 或 Go M4 Pro,在四个在售节点中完成配置。实际可用状态以控制台实时返回为准。