SSH 命令行连接
- 1准备本机公钥
优先使用带口令保护的独立密钥。只上传公钥,不通过工单或邮件发送私钥内容。
- 2读取连接信息
在控制台核对设备标识、节点、主机地址、端口与用户名,避免复用旧租用记录。
- 3核验主机指纹
首次连接前比较控制台提供的指纹。指纹不一致时停止连接并提交工单,不要直接覆盖本地记录。
- 4执行基础检查
运行
uname -m、xcodebuild -version与df -h /,记录架构、工具链和磁盘余量。
这里不是概念文档。每份指南都给出准备项、执行步骤、验证结果与失败时应保留的日志。适用于 SSH、VNC 远程桌面、Xcode、fastlane、自托管 Runner 和账单管理。
选择当前正在处理的任务,或输入 SSH、归档、签名、Runner、节点、账单等关键词。筛选只改变索引卡片,完整操作步骤仍保留在本页下方。
显示 9 份指南
准备公钥、核对主机指纹、检查 arm64 环境,并在图形会话结束后安全退出。
预计 10 分钟 配置开发环境固定工具链版本,验证命令行路径,再按锁文件恢复 Ruby、Pods 或 Swift Package 依赖。
预计 15 分钟 运行构建用显式 workspace、scheme 与 destination 运行归档,保存 xcresult 和导出日志。
预计 20 分钟 运行构建短期注入敏感变量,执行固定 lane,保存产物后清除临时文件和进程环境。
预计 20 分钟 运行构建注册专用 Runner、限制仓库范围、设置能力标签,并在每个任务后清理工作目录。
预计 25 分钟 配置开发环境依次检查网络、磁盘、签名材料、依赖缓存与并发,避免同时修改多个变量。
预计 15 分钟 连接设备根据开发者、代码仓库与流水线服务的位置选择五个节点之一,并通过工单申请迁移。
预计 5 分钟 管理账单提交订单标识、租用周期、节点和存储或 Thunderbolt 5 并联项目,便于定位账单记录。
准备 4 项信息 管理账单通过控制台工单或支持邮箱提交设备标识、节点、时间范围与脱敏日志。
两种联系路径尝试缩短关键词,或切换到“全部指南”后按页面章节查看。
连接信息以控制台显示为准。不要把私钥、一次性凭据或完整连接命令粘贴到公开仓库、构建日志或团队群组。
优先使用带口令保护的独立密钥。只上传公钥,不通过工单或邮件发送私钥内容。
在控制台核对设备标识、节点、主机地址、端口与用户名,避免复用旧租用记录。
首次连接前比较控制台提供的指纹。指纹不一致时停止连接并提交工单,不要直接覆盖本地记录。
运行 uname -m、xcodebuild -version 与 df -h /,记录架构、工具链和磁盘余量。
图形连接失败时,SSH 是检查进程、磁盘和网络状态的主要路径。先完成主机指纹核验。
使用当前设备对应的 VNC 入口与临时凭据,不保存到浏览器同步、共享文档或流水线变量中。
登录后确认分辨率、键盘布局、Xcode 启动状态和可用存储空间,再开始签名或归档操作。
退出正在运行的开发工具,移除临时下载和明文凭据,再关闭远程桌面会话。
不要依赖图形界面里上一次选择的 scheme。自动化任务应显式指定 Xcode 路径、workspace、scheme、configuration、destination 与导出配置。
先读取项目要求,再用 xcode-select 指向目标版本。随后分别运行 xcodebuild -version 和 xcrun swift --version,把输出写入构建日志开头。
Ruby 项目优先执行 bundle install,Pods 项目按锁文件恢复,Swift Package 先解析依赖。缓存只能加速,不应替代锁文件提供的版本约束。
把 DerivedData 和 archivePath 指向当前任务的独立目录。并发任务不要共享同一个输出路径,以免索引、缓存或归档文件互相覆盖。
使用受版本控制的导出配置执行导出。验证命令退出码、产物文件、签名结果和 dSYM,再将产物复制到受控交付目录。
至少保存纯文本构建输出、导出日志与 xcresult。文件名应包含流水线任务标识,不要包含访问令牌、私钥内容或完整签名材料。
xcode-select -p
xcodebuild -version
xcrun swift --version
bundle install
bundle exec pod install
xcodebuild archive \
-workspace App.xcworkspace \
-scheme App \
-configuration Release \
-destination "generic/platform=iOS" \
-archivePath output/App.xcarchive \
-resultBundlePath output/App.xcresult
xcodebuild -exportArchive \
-archivePath output/App.xcarchive \
-exportPath output/export \
-exportOptionsPlist ExportOptions.plist
fastlane 应负责组织构建步骤,而不是长期保存密钥。签名材料、仓库令牌和上传凭据应由受控变量注入,并在任务结束后清理。
在任务启动时注入最小范围的变量。将临时文件放入任务专属目录,限制文件权限,并避免通过命令回显输出变量值。
使用 bundle exec fastlane 固定 Ruby 与 gem 版本。lane 内应明确 scheme、导出方式、输出目录和失败退出条件。
先把归档、导出文件和日志复制到受控位置,再删除临时签名文件、环境文件、下载缓存和任务工作目录。
bundle exec fastlane ios archive
固定依赖版本
独立输出目录
失败返回非零退出码
Runner 应绑定明确的仓库或项目范围。不要让来自不受信任分支的任务自动获得生产签名材料,也不要让不同安全级别的任务共享同一工作目录。
根据团队权限模型选择仓库级或组织级 Runner,并限制可调用它的项目。
Runner 进程不要使用日常管理账号。只授予工作目录和构建工具所需权限。
标签应表达架构、Xcode 主版本与任务类型,让工作流准确选择节点。
一个工作目录同一时间只处理一个任务。需要并发时使用独立目录或独立设备。
删除临时变量文件、签名材料和未上传产物,检查残留进程后再接收下一项任务。
由流水线调度任务到云端 Mac,避免把设备管理凭据写入仓库配置。
构建用户只访问指定仓库、缓存和输出路径,管理操作使用独立权限路径。
正式构建前验证架构、Xcode、Ruby、依赖管理器和磁盘余量,预检失败就停止任务。
依赖安装、测试、归档与导出任一步骤失败都应返回非零状态,避免流水线误判成功。
确认产物和日志已上传,再清理任务目录。保留任务标识以便关联工单。
先记录失败任务标识和时间范围,再按网络、磁盘、签名、缓存、并发的顺序检查。每一步都保留验证结果,避免反复重装环境。
先确认本地网络能到达设备端口,再检查 DNS、代理、SSH 主机指纹与系统时间。分别记录连接建立时间、断开时间和错误原文。若 SSH 可用而 VNC 不可用,应检查图形会话进程,不要先重置整个开发环境。
ssh -v user@host
使用 df -h / 查看卷余量,再检查 DerivedData、依赖缓存、旧 archive 和模拟器数据。先识别大目录,再删除明确可重建的缓存。不要在构建运行期间清理它正在使用的目录。
du -sh ~/Library/Developer/*
核对项目标识、构建配置、导出方式、证书有效性与描述文件映射。确认流水线注入的是当前任务所需材料,并检查系统时间。提交日志时保留错误类型和匹配过程,隐藏证书内容、私钥和令牌。
security find-identity -v -p codesigning
先比较锁文件与日志中的实际版本。使用新的任务目录执行一次无共享缓存构建;若问题消失,再逐层恢复 Swift Package、Pods、Ruby 和 DerivedData 缓存,以定位污染来源。
swift package resolve
检查同时运行的 xcodebuild、测试和依赖进程,以及每个任务的输出目录。降低并发后复测,观察峰值内存、磁盘写入和任务耗时。多个任务不得共享 archivePath、resultBundlePath 或临时签名目录。
ps -axo pid,%cpu,%mem,command
新加坡、日本(东京)、韩国(首尔)、香港、美国东部全年 365 天正常运行。目录内组合常态可订,实际可用性以控制台实时返回为准。
| 节点 | 适合优先考虑的团队位置 | MiniRents M4 | MiniRents M4 Pro | 选择建议 |
|---|---|---|---|---|
| 新加坡SG | 东南亚团队与邻近代码仓库 | 充足 | 充足 | 优先比较开发者到节点及仓库到节点的连接稳定性。 |
| 日本(东京)JP | 日本与东亚团队 | 充足 | 充足 | 适合代码仓库和协作成员主要位于东亚的工作流。 |
| 韩国(首尔)KR | 韩国与邻近东亚团队 | 充足 | 充足 | 选择前可从实际办公网络测试 SSH 稳定性。 |
| 香港HK | 华南与东南亚协作团队 | 充足 | 充足 | 适合需要兼顾多个亚洲协作位置的团队评估。 |
| 美国东部US-E | 北美东部与西欧团队 | 充足 | 充足 | 适合仓库、制品服务或主要成员靠近北美东部的工作流。 |
频繁使用 VNC 时,优先考虑开发者到节点的稳定性;仅由流水线自动执行时,仓库和制品服务的位置更重要。
依赖下载、仓库拉取和产物上传都会占用链路。把主要数据源与执行节点放在连接更稳定的路径上。
提交当前设备标识、现节点、目标节点、期望时间范围和迁移原因。处理结果与后续步骤以控制台工单记录为准。
技术问题优先使用控制台工单,以便关联设备与订单。无法登录控制台,或需要进行售前、账单、安全与团队部署咨询时,可发送邮件。
适合连接中断、设备状态、构建环境、节点迁移、订单与账单问题。工单应关联当前设备或订单,并提供可复现信息。
适合无法登录控制台、售前配置评估、团队部署、安全报告与一般咨询。主题中写明问题类型,正文避免包含密码、私钥或完整令牌。
提供订单标识、租用周期、节点,以及存储扩展或 Thunderbolt 5 并联项目。仅支持 USDT-TRC20 与 Visa / Mastercard / Amex(经 Stripe),所有费用以美元(USD)结算,实际可用网关以后端接口返回为准。
两档机型、四种租用周期与五个节点可选。设备为独享物理机、非虚拟机,入口价为 $21.5/天。