先区分设备不可达与凭据失效
记录控制台设备状态、SSH 或 VNC 的报错原文、本地网络环境、首次发生时间,以及是否只有单一访问方式失败。
连接问题从设备状态和凭据开始,构建问题从 Xcode、依赖与签名环境开始。CDNMac 提供独享物理机、非虚拟机;项目代码、开发者账户和签名资产仍由使用方管理。
已有订单时,请优先携带订单标识、所选节点、发生时间和脱敏日志。实际设备状态与可用操作以控制台实时返回为准。
记录是单台设备、单个仓库、单次构建,还是所有连接方式均受影响。
分别验证网络、系统访问、工具链、项目依赖与签名步骤,避免同时改动多项配置。
提交脱敏日志、期望结果和已尝试动作,不发送私钥、令牌、证书密码或完整支付凭据。
先按主要现象归类,再准备对应材料。一个请求只保留一个主问题,有关联现象可在复现步骤中补充。
记录控制台设备状态、SSH 或 VNC 的报错原文、本地网络环境、首次发生时间,以及是否只有单一访问方式失败。
说明 Xcode 与 Command Line Tools 版本、使用的锁文件、失败命令、目标 scheme、磁盘余量和日志中的首个有效错误。
提交脱敏后的签名报错、bundle identifier、目标环境和证书有效状态。不要提交证书密码、私钥或可直接使用的令牌。
记录来源运营商、网络类型、目标节点、连续样本的中位数,以及仓库拉取或依赖下载是否同样异常。
提供订单标识、租用周期、基础配置、SSD 或 Thunderbolt 5 并联项目名称。不要在工单中填写完整支付凭据。
记录当前节点、目标连接方向、需要保留的工作目录和产物,并说明是否允许重新部署环境。可选范围以控制台实时返回为准。
每完成一步再进入下一步,并记录结果。不要在排查过程中同时替换密钥、修改防火墙和重启本地网络,否则难以判断真正原因。
先在控制台确认订单与设备状态,核对当前节点和设备标识。若状态正在变化,等待控制台返回稳定结果后再测试连接。
确认使用的是当前设备对应的系统用户名、主机地址与最新凭据。不要把其他订单的连接资料混用到当前设备。
从可信网络测试主机与端口是否可达,再检查密钥文件权限和认证错误。保存带时间戳的报错,不要提交私钥内容。
若 SSH 正常而图形会话异常,单独记录 VNC 客户端、连接阶段和画面状态,避免把图形会话问题归入基础网络故障。
核对公司网络、VPN、出口策略和本机防火墙是否限制目标端口。可在另一条可信网络上复测,用于判断问题是否来自本地链路。
单次 ping 只能反映当时的网络往返时间,不能直接代表 VNC 流畅度、依赖下载速度或完整构建耗时。请结合持续样本与实际任务复测。
构建日志常包含后续连锁错误。优先找到第一个导致流程中断的有效错误,再核对它对应的工具、依赖、签名或磁盘条件。
记录 Xcode 完整版本、目标平台、scheme、configuration 和实际调用的工具路径。图形界面与命令行使用的版本应保持一致。
确认当前选中的开发者目录与预期版本一致。升级 Xcode 后,重新验证命令行工具指向,避免脚本调用旧路径。
保留项目使用的锁文件,记录依赖恢复命令和缓存策略。先在干净工作目录复测,再判断是否为缓存污染。
核对有效状态、bundle identifier、目标环境和签名配置是否匹配。只提交脱敏错误,不提交私钥或证书密码。
检查源码、依赖缓存、DerivedData、Archive 和导出产物共同占用的空间。空间不足时先清理可重建缓存。
保留任务开始、首个错误、任务结束三个时间点,标明失败发生在依赖恢复、编译、Archive、签名还是导出阶段。
CDNMac M4 可承接仓库触发的 iOS 构建任务。接入 GitHub Actions、GitLab CI、Jenkins 或其他调度系统时,应把执行节点视为长期存在的构建主机,而不是一次性容器。
按仓库、分支和 runner 标签决定是否接受任务。
使用锁文件与仓库专属缓存,记录缓存命中情况。
固定 Xcode 路径、scheme、configuration 与导出参数。
复制必要产物后清理临时目录,保留脱敏诊断日志。
工单中使用一致术语,可以更快区分物理设备、访问协议、自动化执行器和最终交付文件。
完整上下文比重复发送短消息更有助于复现。敏感字段只说明类型与状态,不提交可直接使用的明文内容。
提供控制台中的订单标识或设备标识,用于确认对应的机型、租期和设备记录。
写明当前设备所在节点,不要只写“亚洲”或“美国”。需要迁移时,再说明目标连接方向。
记录首次发生、最近一次复现和任务结束时间,并注明时区,便于对应设备与网络记录。
按顺序写明输入、命令、目标和结果。若问题不是每次出现,请补充出现频率与触发条件。
保留错误上下文与时间戳,移除私钥、令牌、证书密码、个人资料和完整支付凭据。
说明正常情况下应该看到的状态、文件或返回值,并列出已经尝试过且无效的动作。
先区分设备与网络、系统访问、工具链建议和项目自身责任,能减少在错误层级反复修改配置。
协助核对设备状态、节点侧网络、订单对应关系和控制台可见的管理状态,并根据可复现信息继续处理。
CDNMac 协助范围协助判断设备是否可达、凭据是否对应当前设备,以及 SSH 与 VNC 问题处于网络、认证还是会话层。
CDNMac 协助范围可根据日志协助梳理 Xcode、Command Line Tools、磁盘和构建阶段,但项目依赖与脚本仍需由项目团队验证。
共同排查范围项目代码、开发者账户、证书、描述文件、访问密钥、软件许可、依赖版本和工作负载合法性由使用方维护。
使用方维护范围独享设备减少了资源共享边界,但不会替代团队自身的权限管理。首次连接、持续运行和租期结束都应有明确操作清单。
CI 令牌、仓库密钥和自动化账户只授予当前任务需要的权限,不让多个项目长期共用同一组高权限凭据。
建立密钥与令牌轮换记录。成员、仓库或任务边界变化时,及时撤销不再需要的访问权限。
定期检查证书和描述文件的有效状态,删除不再使用的副本,避免旧配置被流水线误选。
在租期结束前复制源码变更、构建日志、Archive 和必要产物到团队控制的存储,并验证文件可读取。