跨区构建,权限有归属

一台整机,一份权限

Mac mini 由机房托管,代码与签名资产由团队管理。整机只租给一个客户,不是虚拟机。

把夜间 Xcode 云编译交给全年在线的物理节点,同时把登录密钥、构建凭据和退租导出纳入团队流程。独享硬件解决资源隔离,日常权限仍需要明确到人。

按天起租,$19.2/天起。开通前先确定设备负责人、访问成员与数据导出方式。

隔离从硬件开始

客户之间,不共用这台 Mac

独享物理机将客户边界落在整台设备上。你不需要与其他客户共享同一宿主上的运行资源,也不会与其他客户共用这台机器的存储。

整机归一个客户租用

交付对象是物理 Mac mini,而不是从宿主上划出的虚拟机。芯片、统一内存与本机存储服务于当前租用客户的工作负载。

边界:客户之间不混用整机。

存储不与其他客户共用

仓库、DerivedData、依赖缓存与构建产物可以保留在租期内的整机上。目录如何划分、哪些成员可读写,由你的团队配置。

边界:团队内部仍需设置文件权限。

同团队任务仍会争用资源

独享不代表每个任务都有独立资源。多个 runner、模拟器与 archive 同时运行,仍会使用同一台机器的内存、CPU 与磁盘。

建议:设置构建并发与任务队列。

把访问权限落实到人

密钥分人发,桌面凭据及时换

收到 SSH / VNC 凭据后,先建立自己的访问规则,再导入源码与签名材料。亚太与北美成员轮流使用时,尤其不要把一份长期密码当作交接流程。

  1. 01

    SSH 使用个人密钥

    为需要登录的成员分别登记公钥,不在聊天记录中分发私钥。移除成员时删除对应授权;用于 CI 的密钥与个人交互登录密钥分开管理。

    准备停用密码登录前,保留当前会话,并用第二个会话验证密钥登录成功,避免把团队锁在机器外。

  2. 02

    VNC 密码由团队设置

    首次连接后设置团队自己的 VNC 密码,避免与控制台密码、仓库凭据重复使用。成员变化或凭据可能外泄时及时更换。

    图形界面用于需要人工确认的操作,自动构建优先使用 SSH 与 runner。桌面使用结束后退出敏感工具,不把导出密码留在可见窗口。

  3. 03

    只保留需要的服务

    检查 macOS 的共享设置。关闭项目不需要的文件共享、远程 Apple 事件与其他共享服务;保留确实使用的远程登录或屏幕共享入口。

    先确认依赖关系再关闭服务。调整防火墙或远程访问设置前,记录原配置,并确认团队仍有可用的管理路径。

交接不只改机器密码。仓库令牌、runner 注册信息、制品库凭据与签名导出密码各有独立权限。成员离开项目时,应逐项检查,而不是仅更换 VNC 密码。

签名资产按项目登记

把证书、私钥与构建日志分开

证书文件能被复制,不意味着每个构建任务都应能读取。把签名材料视为独立资产:明确由谁导入、在哪个钥匙串使用,以及在什么时间撤销或轮换。

证书与描述文件

按项目保存证书、对应私钥与描述文件。导入前核对用途、有效期与适用 target;不要把带私钥的导出文件提交到代码仓库。

需要备份时,使用带密码保护的导出文件,并通过与文件不同的渠道交付密码。备份副本放在团队管理的位置,不只留在构建机上。

登记项:项目、用途、负责人、有效期。

独立的构建钥匙串

建议将 CI 签名身份放入专用钥匙串,与日常交互使用分开。按实际构建需要配置解锁与访问权限,不为省事向所有进程开放私钥访问。

自动化任务确需解锁时,从 CI 的受保护变量读取密码。先用一次受控构建验证签名,再扩大 runner 的任务范围。

登记项:钥匙串、调用任务、解锁方式。

日志与产物的可见范围

避免在脚本中回显口令、令牌和签名导出密码。排查问题时关闭敏感步骤的命令展开输出,上传日志前检查是否包含凭据。

archive、导出包和调试符号分别设定保存位置与保留规则。构建完成不等于资产已备份,至少验证一次能从团队存储取回所需产物。

登记项:产物位置、访问成员、保留规则。

先核对签名身份,再触发发布构建

在目标构建用户下运行以下只读检查,确认钥匙串中存在预期的代码签名身份。输出用于本地核对,不要把完整环境信息直接贴入公开记录。

security find-identity -v -p codesigning

该命令只列出身份,不会导入证书,也不会替你配置钥匙串访问权限。

机房与团队,各管一层

机房管供电,团队管构建环境

所有节点全年 365 天正常运行,无计划停机。电源、网络与散热由机房负责,夜间流水线不再依赖办公室里那台 Mac 是否通电。

基础设施托管,不替代应用层权限与备份管理
管理层机房与平台负责团队需要落实
物理运行整机托管,负责电源、网络与散热。识别实例与项目的对应关系,记录设备负责人。
系统访问在控制台交付整机登录信息。设置 SSH 密钥、VNC 密码与成员授权。
构建环境提供可远程使用的独享物理 Mac。管理 Xcode 工具链、runner、依赖与任务并发。
项目资产租期结束后整机擦除再交付。备份代码与签名资产,导出产物,撤销外部授权。

全年在线描述的是节点运行安排,不代表每次构建必然成功。脚本错误、证书失效、磁盘占满或团队修改系统配置,仍需要在项目流程中监测与处理。

结束租用前完成交接

先带走资产,再归还整机

租期结束后,整机擦除再交付下一位客户。擦除用于清理设备上的数据,不会替你撤销仓库、CI 或其他系统中的授权;两件事需要分别完成。

  1. 01

    导出并验证备份

    取回尚未推送的代码、构建脚本、archive、导出包、调试符号和必要的签名材料。检查文件是否完整,确认团队能在另一处读取,而不是只确认复制任务结束。

  2. 02

    解除外部系统授权

    从 CI 平台移除对应 runner,撤销不再使用的部署密钥与访问令牌。共享过的秘密应按团队规则轮换;本机文件被擦除,不等于外部系统已停止信任旧凭据。

  3. 03

    确认租用结束安排

    在控制台核对租期与实例信息。若需要协调导出顺序或确认数据处理事项,提前提交工单;不要把到期后的机器当作备份位置,也不要等结束租用后才寻找唯一副本。

支付信息单独处理

卡号不留本站,对账保留必要记录

全部以美元(USD)结算。仅支持 USDT-TRC20 与 Visa / Mastercard / Amex(经 Stripe),实际可用网关以结账时后端接口返回为准。

银行卡经 Stripe 处理

银行卡支付信息由 Stripe 处理,本站不保存卡号。需要排查支付问题时,提供订单编号与支付结果即可,不要通过工单或邮件发送完整卡号、安全码或银行卡照片。

向支持团队提供订单信息,不提供卡片秘密。

USDT-TRC20 按链上记录对账

付款前核对页面显示的网络、收款地址与金额。对账以链上记录为依据;遇到确认问题时,提供订单编号与交易哈希,不发送钱包私钥或恢复材料。

保存交易哈希,按订单核对付款状态。

安全报告、支付核对与数据处理咨询均可发送至 support@pushmac.com,或登录控制台提交工单。首次说明请带实例编号、所用节点、相关操作与问题发生时间,并注明时区;日志中的秘密应先移除。

把构建机交给机房

整机独享,全年 365 天在线。先确定权限负责人,再把 Xcode 构建接进团队流水线。