用途:操作托管 Ditto iOS 流水线的自托管 GitLab Runner(运行于机架上的 MacBook),该机器承担 build-ipa 与 publish-app-store 两个 CI 任务;后者依赖 Xcode 内置的 iTMSTransporter,无法在 Linux 上运行。初始装机、App Store Connect API 密钥创建与 GitLab CI 变量配置属于 ci-cd-publishing 技能。
主要能力与用法:通过 ssh alex@alexs-air.lan 登录;用 gitlab-runner status 查看状态,gitlab-runner restart 重启(需先 eval "$(/opt/homebrew/bin/brew shellenv)");用 tail -f ~/gitlab-runner.out.log 与 ~/gitlab-runner.err.log 查看日志;配置文件在 ~/.gitlab-runner/config.toml,服务由 ~/Library/LaunchAgents/gitlab-runner.plist 的 launchd LaunchAgent 管理(KeepAlive、RunAtLoad)。健康检查可查询 GitLab API 的 runner 53111580 状态。Xcode 大版本更新后需 sudo xcodebuild -license accept、xcode-select --install 并确认版本。
环境要点:macos、ios、xcode 标签;使用 ruby@3.3 而非 brew 的 Ruby 4.0(后者 OpenSSL EC 解析存在 fastlane#20553 缺陷);Wi-Fi 上禁用 IPv6 以规避 net/http 超时。
适用场景与限制:适用于 Runner 重启、日志排查、本地复现 fastlane 构建、每年轮换 match 证书(过期前需 nuke 并重新生成,CI 以 readonly 拉取)、以及用 submit_only lane 调试 App Store 提交。技能列出多种故障现象、成因与处置,但均为该特定 Mac 与项目环境;其他部署未必适用。资料未提供收费、平台或效果信息。