用途:gpc-train 用于搭建和管理 GPC 的自动化分阶段发布流水线(release train),让版本按配置依次经过 internal、alpha、beta、production 等轨道,并在时间与质量门控通过后自动推进。
主要能力:通过 .gpcrc-train.json 定义 stages(track、rollout 百分比、after 等待时间)与 gates(crashes.max、anr.max,按百分比)。支持 gpc train start 启动、gpc train advance 推进、gpc train status 查看状态、gpc train pause 暂停、gpc train abort 清除状态。门控读取最近一天的崩溃与 ANR 数据(取当日最差值)。
使用方式:在项目根目录创建 .gpcrc-train.json,或用 --config 指定文件;执行 gpc train start 启动并立即运行第一阶段;用 CI 定时任务运行 gpc train advance 推进。注意门控阈值用百分比(1.5 表示 1.5%),而 gpc vitals --threshold、gpc watch 等使用小数(0.02 表示 2%)。
限制:advance 不会自动运行,需外部调度;门控失败会暂停并退出码 6(TRAIN_CRASH_GATE_FAILED / TRAIN_ANR_GATE_FAILED),无数据时退出 6(TRAIN_GATE_NO_DATA,v1.0.0-rc.2+ 行为,vitals 有 2-4 天延迟)。pause 与 abort 不会停止 Google Play 上的实际发布,需用 gpc releases rollout halt --track production 显式停止。没有 resume 命令,暂停后需 gpc train start --force 从第一阶段重新开始。状态文件位于 ~/.cache/gpc/train-<packageName>.json。