搬迁项目与所需文件
优先从版本库签出代码;逐项识别未入库的配置文件与构建资源。传输前清点敏感材料,避免把凭据写进仓库或日志。
完成检查:在云端目录能找到预期工程文件,且敏感文件的访问范围已核对。
这份指南面向准备在独享物理 Mac 上运行 Xcode 或 macOS CI 的开发者。先核对机型与节点,再取得连接信息、检查工具链,最后执行一次可复现的构建。
页面中的命令和回执均为示例,不代表已为你的项目完成配置。实际连接参数、设备状态及交付进度以控制台显示为准。
先确认这四项,再把项目交给远程节点。
示例检查单 · 具体配置以订单和控制台为准
五个入口按实际操作顺序排列;已有订单的用户可以直接跳到连接或排障步骤。
右侧时间只用于说明一次演示操作如何分配,不是交付时限。实际交付时间、连接信息是否已生成,均以控制台的订单与设备状态为准。
约 4 分钟演示操作合计,不含设备交付等待
按项目内存、存储需求选择在售配置,再按团队所在地与协作时区选择节点。先核对目录覆盖,再进入订购。
检查租期和可选附加项后提交订单。可用性及实际可用的支付网关以控制台实时返回为准。
等待设备显示就绪,从控制台读取分配给该实例的地址、账户及连接说明,不从公开示例复制凭据。
建立连接,确认当前账户、磁盘空间和 Xcode 工具链版本;不匹配时先停止自动任务并记录输出。
SSH 适合签出代码、运行构建与检查日志;需要操作 Xcode 图形界面时,按实例提供的远程桌面连接说明操作。
$ ssh developer@192.0.2.10
Last login: example session
$ xcodebuild -version
Xcode
Build version: example
$ xcodebuild -workspace App.xcworkspace \
-scheme App -configuration Release \
-destination 'generic/platform=iOS' build
** BUILD SUCCEEDED **
$ fastlane build
[example] Build completed
[example] Artifact: ./build/App.ipa
本地 Mac → 云端 Mac:先让源代码与依赖可取得,再核对工具链,最后把 CI 任务指向新的执行节点。
优先从版本库签出代码;逐项识别未入库的配置文件与构建资源。传输前清点敏感材料,避免把凭据写进仓库或日志。
完成检查:在云端目录能找到预期工程文件,且敏感文件的访问范围已核对。
记录本地使用的 Xcode、命令行工具及包管理依赖版本;在云端重新解析依赖,并对照项目的最低系统与架构要求。
完成检查:同一 Scheme 能在命令行启动构建,版本差异已有记录。
为新节点设置独立的 Runner 身份和任务标签,先运行不需要发布凭据的验证任务,再核对打包所需权限。
完成检查:测试任务落到预期节点,日志与产物均可追溯。
先手动完成一次完整构建,保留版本、命令与错误输出,再决定是否交给自动化任务。不同项目的签名和依赖要求需要分别配置。
使用团队认可的方式取得仓库,确认目标提交、子模块与锁文件;先运行 git status,避免在未知改动上判断构建结果。
确定证书、描述文件及所需密钥由谁管理、谁能读取。不要把私钥放入公开仓库,也不要把完整凭据粘进故障工单。
先确认 xcodebuild -version 和项目 Scheme,再运行项目实际使用的构建命令;记录退出码和首个有效错误,而非只截取日志末尾。
检查产物文件、大小和生成路径,按团队流程归档或迁出。构建成功提示不能替代对实际文件及签名结果的检查。
GitLab CI macOS Runner 的接入需要在节点上安装并注册 Runner,将其关联到有权限的项目,并用任务标签限定作业的执行位置。注册方式、访问范围与并发设置应服从团队自己的 CI 管理策略。
首个验证作业可以只输出系统和 Xcode 版本。它能证明任务到达了预期的 Apple Silicon 节点,却不能证明签名、依赖下载和发布步骤已经可用。
fastlane 可作为现有打包流程的一环,但不能代替项目自己的权限、签名与版本核对。
联系团队前记录发生时间、实例对应的订单标识、执行的操作和脱敏错误信息;不要发送密码、私钥、签名证书或未经遮盖的项目资料。
先确认控制台中的设备状态、地址和账户,再检查本地网络与所用连接方式。记录连接命令、错误类型和发生时间;凭据部分应遮盖。
记录提交版本、Xcode 版本、Scheme、完整命令及第一个有效错误。区分依赖获取、编译、签名与导出阶段,不只提供“构建失败”的末行。
检查项目目录、构建缓存与产物占用,先确认哪些文件可以由团队安全清理。附上脱敏的空间统计和出错路径,避免误删仍需归档的产物。
核对当前执行账户、文件所有权及仓库或签名材料的授权范围。记录受影响路径和报错,不通过扩大所有文件权限来绕过问题。
先核对三档机型与租期,再在控制台确认实时可用条件。连接后从一次可复现的验证构建开始。