01 · 数据同步
只搬源码与必要输入
用 rsync 或 SFTP 传输项目。排除 DerivedData、临时构建目录与可重新生成的缓存;依赖锁文件、测试资源和项目配置应保留。
检查项:对照提交标识与关键文件校验值,确认工作目录、权限和磁盘余量。首次执行先用预演模式查看差异。
rsync -azn \
--exclude 'DerivedData/' \
--exclude 'build/' \
./project/ \
"$MAC_HOST:~/work/project/"
确认预演结果后移除 n。MAC_HOST 使用交付的 SSH 连接别名;本例不删除远端已有文件。
02 · 工具链重建
先对齐版本,再导入凭据
按项目清单准备 Homebrew 依赖、Xcode 与 Command Line Tools。验证开发者目录后,再通过安全渠道导入证书和描述文件。
检查项:比较本地与节点的 Xcode、Swift 和依赖版本;执行一次不依赖发布凭据的构建,先排除基础环境差异。
xcode-select -p
xcodebuild -version
swift --version
brew bundle check
brew bundle check 需先安装 Homebrew,并在含项目 Brewfile 的目录执行。它检查依赖,不自动导入签名材料。
03 · CI 接入
先手动成功,再自动派工
在节点手动跑通项目命令,再按所用平台说明注册 Runner,配置仓库访问、任务标签、工作目录和凭据权限。
检查项:触发一次测试提交,确认任务落在目标节点,日志可追溯,制品能取回;退出交互会话后再验证服务运行方式。
uname -m
xcodebuild -list
launchctl list
在工程目录检查构建目标。Runner 注册与常驻方式依平台版本配置,不把交互会话里的一次运行当成服务已就绪。