自动构建、版本发布与开发流程
0. 本篇结论
本功能定义自动构建、版本发布与开发流程的功能定位、玩家流程、核心规则、UI 状态、配置与系统边界;本次整理状态为 draft,原文档状态为 producer_review_needed,待制作人确认后可作为后续拆分、实现和验收依据。
整理入口与资料边界(WEN-17 draft)
本页是研发流程与支撑资料检索入口,不加入八个玩家系统。原 feature_key、URL、规则编号及参考图保留;其中玩家可见的版本检查/热更/强更仍是游戏功能候选,研发构建、渠道送审、审批与产物记录属于交付流程。此分类不是批准拆迁正文或开立实现任务。
资料分工与共用规则归属
| 资料面 | 检索入口 | 内容与责任边界 |
|---|---|---|
| 研发交付流程 | 本页;发布与变更标准 | 本页保留构建/更新流程候选;发布标准承载冻结、兼容和回退候选,不在玩家功能中重复制定分支规则。Hub 拥有实际执行边界,具体 repo 拥有其交付证据。 |
| 游戏更新表现 | 本页 §5.2、§6;账号登录、公告 | 客户端更新/提示/重启归 frontend;权威准入和维护校验归 backend;字段、proto、版本/语言契约先由 planning 确认。未取得当前游戏运行证据。 |
| Google 送审 | 送审流程 → 内容风险补充 | 主文负责提交/异常/发布后记录和部门准备;补充文负责支付、数据、权限、目标 SDK、素材、未成年人及游戏内容复核。重复内容改为引用;两文各有独立内容,不是兼容入口。 |
| 开发环境 | 技术栈、美术与TA | 版本/工具环境由各 repo owner 取证,渲染与资源交付由 frontend/art 确认;scaffold 不能证明工具已配置。 |
| 开发标准 | 美术、配置、架构、UI handoff;其余见下表 | 各篇承载各自候选规则;不在本页重订标准。配置/proto/语言/数值归 planning;源资源归 art;Unity/UI归 frontend;权威业务归 backend。 |
| 研究与发布 | 研发计划;下表四篇发布记录 | 计划索引声明尚无经过 Producer 审核计划;发布日期、tag、资源路径仅是历史记录,不证明成功上架或当前生产版本。 |
| SDK 拆分 | 任务清单、SDK-001、SDK-002、SDK-003 | 登录/角色契约属于账号模块,不是本页通用渠道 SDK 发布 brief。原 split reviewed 只限文档级 review,Producer approval 仍 pending;不重新发布、不复用为 WEN-17 执行授权。 |
| 支撑源稿 | B0 资料清单、下表 _support/* | 基准、迁移、证据、问题和模板是研究/审核支撑,不构成新增玩家规则。_support 不生成站点页面,通过固定 SHA 源稿检索。 |
| Hub 标准 | 标准总览、能力表及下表 | docs 保存知识入口;Hub AGENTS.md、.autodev/repos.yaml、绑定和 review 边界属于控制面。本批不维护或重新推广平台标准。 |
| QA与性能 | 质量入口、性能报告、手机性能候选 | 候选门槛与历史观测分开;Editor报告不证明真机/APK/当前版本达到性能门槛。报告 hold 保留。 |
来源清单与原审核事实
资料固定来源为 project2-docs master @ ec43be0e13c8624cfafd36c0fd803f3b89733fff;读取日期 2026-10-13。下面逐文件链接固定 SHA,状态从该快照正文/front matter 读取,不是新审核结论。当前整理基准为 2e77d7bbfa1d86834e96717d2fade7b75a88c03d;有后续更动的文件不回退。包级 manifest 原候选状态与历史 coverage 不覆盖逐篇状态。
当前控制面只读证据为 Hub master @ 8f503eb1404e73ab6d0a9f288dda51e3fb84df8f 的 AGENTS.md、project.yaml、.autodev/repos.yaml、.autodev/automation.yaml。README/CI差异引用 docs当前基准的 README与CI配置,仅代表源码观察。B0后补 _support/source-baseline-inventory.md 在固定快照尚不存在,以当前基准源稿检索,原状态 draft / canonical_candidate;其余B0后补段落也只作draft证据,不反写固定快照审核事实。
三篇 build-release-* 本批变为 draft;原 devflow 为 producer_review_needed / canonical_candidate,两篇 Google 为 producer_review_needed、未声明 authority。其余来源保持既有状态。已确认的边界来自当前 Hub 策略;候选内容来自下表;CI 配置观察与游戏运行事实分开。
split/task-split.yaml 的审核为嵌套 review.status: reviewed,审核人 project-hub-codex、日期 2026-07-22,producer_approval: pending;DOC #725 completed 只说明原文档任务,不扩大到发布流程、Google checklist、产品规则或实现完成。迁移台账 merged 表示资料已吸收,不等于合并了实现 MR 或批准规则。
冲突、缺证与待用户裁定
| 编号 | 来源/版本与事实 | 影响 | 待裁定/下一步 |
|---|---|---|---|
| B3B-01 | 固定快照 Google主文 §4 将 BUILD-RELEASE-DEVFLOW-R-007 / R-008 引作回滚/热修;同 SHA 本页 §5.2 实际为游戏中换包与 iOS 手动重启。 | 编号不能作为回滚依据;错误引用已移除,原文字见固定源稿。 | 用户确认正确回滚规则/owner;不为修正引用发明编号或流程。 |
| B3B-02 | 固定快照发布标准 §冻结与提测写 release;本页 §13 仍问 develop/master/release;当前 Hub注册表 @ 8f503eb1404e73ab6d0a9f288dda51e3fb84df8f frontend=develop,其余已注册成员按各自基准(docs=master)。 | 候选统一release不能覆盖repo基准;历史发布tag/branch不能作为现行默认。 | 保留两侧,用户与repo owner确认是否存在独立冻结流程;不修改分支策略或CI。 |
| B3B-03 | docs基准 2e77d7bbfa1d86834e96717d2fade7b75a88c03d README“生产流水线每次master发布及每日定时”与同SHA .gitlab-ci.yml 的 validate/build only: branches、deploy only: master 不完全同义。 | 分支会构建但不发布;仅据配置无法证明每日schedule存在、曾执行或生产已更新。 | 用户/平台owner提供schedule与执行证据;本批只记录,不改README/CI触发规则。 |
| B3B-04 | 固定快照 Hub标准与 UI handoff 使用根 repos.yaml、docs-site/、旧 Hub checkout 或旁路实现 checkout 的绝对路径(精确路径见上表固定 SHA 源稿)。B0已记录旧配置路径。 | 历史命令/示例不能作为当前写入路径;canonical docs与控制面归属会混淆。 | 现行定位读取 Hub .autodev/repos.yaml,docs=注册 project2-docs;保持历史源证据,不新建shim/alias。控制面维护若必要须独立授权。 |
| B3B-05 | Hub标准包含Plane/ADP runtime、DOC/PLAN/MAT、Split Review和本地Unity/APK巡检建议;SDK旧brief带本地验证命令。 | 文档知识/历史人工流程不能扩张当前Linear文档worker权限,也不启动人类业务任务。 | 仅现行Hub规则约束本批;用户决定另批是否维护旧标准,不在本批重订平台政策。 |
| B3B-06 | Google主文引用 play-protection-checklist.md,本固定资料树无该文件/路径;两篇Google未标官方政策来源版本。 | 风险复核入口缺证;48/72小时、7工作日、24小时和测试广告ID有效一天是来源候选,不是已验证平台政策。 | 请求来源、负责人、适用版本;本批不联网升级Google政策、不认定合规已通过。 |
| B3B-07 | Google主文“SDK tag/发行配置/服务器”与账号SDK split名称相同但对象不同。 | reviewed账号拆分不能证明发行SDK交付或送审准备已完成。 | Owner确认渠道SDK版本和送审产物;分别引用,不复制brief或创建实现任务。 |
| B3B-08 | 手机性能 scaffold / pending_producer_and_art_review 未给数字阈值;历史Editor报告 hold,frontend head=affb1f2ba381c89ec5c8b0bd38919a991724cfe9、Unity=2022.3.62f3,背包fail、帧尖峰/GC峰值。 | 历史Editor观测不替代设备矩阵或正式性能基线,也不证明问题已修复。 | 用户确认真机/API/设备目标与性能验收;保留hold,无当前外部游戏运行证据。 |
| B3B-09 | 四篇发布记录均 scaffold / pending_release_evidence;2026-07-22仅首次提审原因,2026-08-06记录资源308但产物路径res342及release-260730.01。 | 版本/产物映射缺证,不应把日期条目当已发布批准或SDK已上线。 | Owner提供精确commit、产物及审核记录,确认308/342关系;不操作共享目录/服务器。 |
| B3B-10 | 环境、标准、研究与支撑记录候选或scaffold;本页更新流程与强更参考图未获本轮实现/视觉证据。 | 检索完整不代表标准完成或玩家行为一致。 | 当前游戏差异缺证;用户提供外部运行资料后再裁定,不补造缺失设计。 |
重复合并与引用处理
- Google主文原 GP-CONTENT-001~008 不再重复写整套内容验收;迁移后的覆盖对照在补充文。主文保留送审链路、部门准备、PACKAGE规则编号和证据字段;补充文保留独立的内容风险细项,并由主文链接。没有被替代的独立文件入口,未新增兼容路径。
- 本页末尾重复且空白的“7.1 界面图与交互说明 / 暂无”删除;已有 §6 的参考图是唯一有效入口。两篇Google的无关空白界面图章节一并删除。
- 本页、包总览、功能总表、manifest和三篇流程文同步检索/状态引用;sidebar 已有三篇独立入口,不更换 doc id/URL、不重复增加导航节点。范围外正文不作全包重写,外部消费者未因本批入口切换发生已知破坏。
- 已批准基线、候选规则与配置推导分开:本批没有新增产品批准;三篇规则仍是原候选。
.gitlab-ci.yml是指定SHA的只读配置证据,不能证明执行成功、部署或游戏已实现。未新增/扩写测试;本地验证:根据项目策略禁止执行。
1. 功能定位
该功能域记录项目生产链路能力:自动构建系统、版本发布与更新流程、日常开发与版本管理、分支管理。它不是玩家功能,但影响 Project2 的交付稳定性、测试效率、回滚能力和多仓协作。
2. 范围
In Scope:自动构建触发、构建产物、版本号、渠道包、配置导出、客户端/服务端发布流程、分支策略、测试环境、回滚、发布验收和权限边界。
Out of Scope:具体玩家玩法规则、单个功能开发任务、生产发布代审批、凭据创建、游戏服写入或重要数据操作。
3. 玩家入口、解锁与提示
普通玩家没有直接入口。玩家可见结果是客户端版本更新、热更资源、服务器维护、版本不匹配提示和公告。内部入口包括 CI、构建机、发布后台、GitLab MR、Plane/ADP 任务和测试环境。
4. 核心玩家流程
玩家侧流程:
- 玩家启动客户端。
- 客户端检查版本、资源和服务器状态。
- 若版本不匹配,玩家按提示更新或等待维护结束。
- 更新完成后进入登录和主界面。
内部流程:
- 开发在约定分支提交变更并发起 review。
- CI 执行构建、测试和资源/配置校验。
- 通过验收后生成版本包或服务端发布候选。
- 制作人或授权负责人确认发布。
- 发布执行后记录版本、产物、环境、验证和回滚方案。
5. 核心规则
5.1 构建产物与发布类型
BUILD-RELEASE-DEVFLOW-R-001:构建必须记录源码分支、commit、配置版本、资源版本和产物位置。BUILD-RELEASE-DEVFLOW-R-002:版本发布必须区分客户端包、热更资源、配置发布和服务端发布。
5.2 启动与游戏中更新流程
BUILD-RELEASE-DEVFLOW-R-003:启动时检测为最新版本时,直接进入登录/游戏流程。BUILD-RELEASE-DEVFLOW-R-004:启动时检测需要资源热更新时,自动下载资源、解压资源并重新进入游戏;若更新未完成就退出,下次启动需要重新检测版本并继续更新流程。BUILD-RELEASE-DEVFLOW-R-005:启动时检测需要更换包体时,弹出强制换包提示,引导玩家前往应用商店下载新包;该弹窗不可关闭,玩家只能跳转或退出应用。BUILD-RELEASE-DEVFLOW-R-006:游戏过程中检测需要资源热更新时,服务端或资源系统推送不可关闭的重启提示;玩家点击后重启并进入资源更新流程。BUILD-RELEASE-DEVFLOW-R-007:游戏过程中检测需要更换包体时,先提示玩家重启;重启后再检测包体并进入强制换包提示。BUILD-RELEASE-DEVFLOW-R-008:iOS 不支持应用内自动重启时,重启按钮只退出游戏,玩家需要手动重新打开。
5.3 分支、审批与自动执行边界
BUILD-RELEASE-DEVFLOW-R-009:分支策略需要定义开发分支、发布分支、修复分支和回滚路径。BUILD-RELEASE-DEVFLOW-R-010:生产发布、凭据变更、权限变更、游戏服写入和重要数据操作必须等待明确制作人确认。BUILD-RELEASE-DEVFLOW-R-011:ADP/Codex 自动执行只能提供 MR、验证和证据,不能代签发布批准。
5.4 版本异常与登录流程联动
BUILD-RELEASE-DEVFLOW-R-012:版本不匹配、维护、白名单和强更提示需要与账号登录流程一致。
5.5 操作矩阵
N/A。当前不在策划案正文中复述核心玩家流程;进入 PLAN 时,仅对状态变化、消耗/产出、奖励发放、跨系统反馈或失败反馈补齐操作矩阵。
6. UI 状态与交互
6.1 界面图与交互说明
以下图片为待评审参考图,已按图片锚点和附近文字绑定到页面/状态;状态均为 仅参考,最终布局、尺寸、按钮位置和视觉风格以制作人/UI 评审确认为准。
图 01:换包更新通知(游戏中)

- 图状态:仅参考
- 关联页面 / 状态:换包更新通知(游戏中)
- 关联交互 / 状态说明:换包更新通知(游戏中)
图 02:换包更新通知(游戏中)

- 图状态:仅参考
- 关联页面 / 状态:换包更新通知(游戏中)
- 关联交互 / 状态说明:换包更新通知(游戏中)
图 03:热更新通知和处理流程(游戏中)

- 图状态:仅参考
- 关联页面 / 状态:热更新通知和处理流程(游戏中)
- 关联交互 / 状态说明:热更新通知和处理流程(游戏中)
图 04:换包更新通知(游戏中)

- 图状态:仅参考
- 关联页面 / 状态:换包更新通知(游戏中)
- 关联交互 / 状态说明:换包更新通知(游戏中)
图 05:热更新通知和处理流程(游戏中)

- 图状态:仅参考
- 关联页面 / 状态:热更新通知和处理流程(游戏中)
- 关联交互 / 状态说明:热更新通知和处理流程(游戏中)
图 06:热更新通知和处理流程(游戏中)

- 图状态:仅参考
- 关联页面 / 状态:热更新通知和处理流程(游戏中)
- 关联交互 / 状态说明:热更新通知和处理流程(游戏中)
3 张多目标草稿图因上下文不匹配本功能,未插入本页。 1 张 EMF 格式草稿图因浏览器不可直接显示,暂未映射;如需保留,需先转成 PNG/JPEG。
6.2 页面结构与交互
玩家侧需要版本检查、下载进度、维护提示、更新失败、版本不匹配和公告跳转。内部工具需要构建状态、发布状态、失败原因、产物链接、审批状态、验证结果和回滚入口。
启动界面需要展示游戏 logo、背景图、版本和资源检测进度。进度条下方显示当前版本序号。热更新界面展示下载/解压进度和失败重试;换包提示展示不可关闭弹窗、商店跳转按钮和清晰的版本原因。游戏内热更新或换包提示也必须不可关闭,避免玩家继续停留在不兼容版本。
6.3 UI 页面状态表
N/A。当前仅保留已绑定页面/状态的参考图和页面结构说明;具体可执行状态在 UI 评审或 UI brief 中确认。
7. 配置、数据与 Contract
本节只记录策划案需要的逻辑数据与跨部门 contract,不预设物理配置表、协议文件、service 文件或 仓库落点。正式命名、字段名、接口名、协议对象名、文件名和仓库落点进入执行前由 Work Package 的 contract-registry.yaml、execution brief 和对应执行任务确认。
7.1 策划数据需求
策划数据需求只描述逻辑数据域、逻辑字段或规则语义,不等同于配置表字段名、协议字段名或数据库字段名。正式字段命名进入 contract-registry.yaml、execution brief 和对应执行任务确认。
| 数据域 | 逻辑字段 / 规则 | 设计含义 | 必填 / 边界 | 产出责任 |
|---|---|---|---|---|
| 版本与渠道规则 | 版本号、渠道、资源清单、配置版本、服务器环境、强更策略 | 定义客户端包、热更资源、配置发布和服务端发布的版本关系 | 进入执行前补齐默认值、边界和可选性 | Hub / Planning |
| 发布清单与验收 | 源码分支、提交、配置版本、资源版本、产物引用、验收结论 | 定义构建参数、产物位置、验收 checklist 和回滚记录 | 进入执行前补齐默认值、边界和可选性 | Hub / Ops |
| 审批边界 | 审批人、审批记录、禁止自动代签范围、回滚路径 | 定义生产发布、凭据、权限和游戏服操作的审批要求 | 进入执行前补齐默认值、边界和可选性 | Hub / Ops |
7.2 运行时数据与接口需求
| Contract | 设计含义 | 使用方 | 说明 |
|---|---|---|---|
| 版本检查 | 客户端启动或游戏中检查是否需要热更或强更 | 服务端 / 客户端 | 最新版本直进游戏,热更下载资源,强更跳应用商店 |
| 重启与更新流程 | 处理资源更新、包体更换和 iOS 无法自动重启场景 | Frontend / Ops | 更新中断后下次启动继续检测 |
| 发布证据记录 | 记录 MR、验证、产物、审批和发布结果 | Hub / GitLab / ADP | Hub 只保留可评审规则和证据索引 |
7.3 跨部门 Contract 命名清单
| Contract 类型 | 逻辑对象 | 命名状态 | 阻塞阶段 | 说明 |
|---|---|---|---|---|
| 配置数据 | 版本号、渠道、资源清单、服务器状态、白名单、维护状态 | 待 PLAN 确认 | PLAN 前 | 不预设物理配置表名 |
| 协议 / API | 版本检查、服务器状态、维护公告、强更提示 | 待 PLAN 确认 | 执行前 | 由服务端 / UI brief 确认 |
| 错误码 | 版本过低、维护中、白名单拒绝、资源更新失败 | 待 PLAN 确认 | 执行前 | 需要玩家提示 |
| 发布证据 | 分支、提交、产物、验证命令、审批记录 | 待 PLAN 确认 | PLAN 前 | 不保存凭据或 runtime state |
8. 系统边界
| 方向 | 负责内容 | 备注 |
|---|---|---|
| Planning | 逻辑数据、数值、文本需求、资源需求 | 进入执行前由 PL 任务细化 |
| 服务端 | 协议、校验、持久化、奖励发放、幂等与安全 | 仅相关功能需要 |
| 客户端 | UI、交互、表现、本地状态、红点和跳转 | 仅相关功能需要 |
| 美术 | 图标、模型、特效、音频和导出资源 | 仅相关功能需要 |
| Ops / GM | 后台配置、运营投放、公告、补偿和数据看板 | 仅相关功能需要 |
客户端与表现
客户端需要版本检查、资源更新、错误提示、重试、维护/强更文案、渠道包差异和启动阶段埋点。Unity 构建需要区分开发、测试、预发和生产环境。
美术与音频需求
通常只需要启动/更新界面、维护提示背景、进度条、按钮和错误态资源。构建发布内部工具不需要玩家侧美术。
9. 数值、经济与奖励
本功能不直接影响数值奖励,但配置发布、活动开放、充值商品、广告位和礼包可能通过发布流程生效。所有经济相关配置必须有审核、版本记录和回滚方案。
10. 异常、安全与运营边界
10.1 异常与安全
需要处理构建产物错配、配置版本错配、资源缺失、热更失败、渠道包签名错误、发布中断、回滚失败、权限误用、凭据泄露和生产误操作。任何高风险操作必须走人工审批。
10.2 埋点与运营
建议记录启动、版本检查、更新开始/完成/失败、资源下载失败、维护拦截、强更拦截、登录前流失、构建成功率、发布失败率和回滚次数。
11. Feature Relations 与回归范围
Feature Relations
依赖 Project2 Hub workflow、account-server-login、game-notice、配置发布和各仓 CI。影响所有玩家功能的发布、回滚和验收。
回归范围
以 Feature Relations 影响功能、核心玩家流程、配置与系统边界为基础;进入执行前由 PLAN / QA brief 细化最小回归范围。
12. 验收标准
12.1 关键验收结论
自动构建能产出可追溯包;版本发布有分支、commit、产物、环境、验证命令、审批记录和回滚方案;客户端版本不匹配、维护、更新失败和重试路径可验证。
补充验收:启动最新版本直进、启动热更新、启动强制换包、游戏中热更新重启、游戏中强制换包、更新中断后重进续检、iOS 手动重启提示和不可关闭弹窗均需验证。
12.2 规则验收清单
-
BUILD-RELEASE-DEVFLOW-R-001:构建必须记录源码分支、commit、配置版本、资源版本和产物位置。 -
BUILD-RELEASE-DEVFLOW-R-002:版本发布必须区分客户端包、热更资源、配置发布和服务端发布。 -
BUILD-RELEASE-DEVFLOW-R-003:启动时检测为最新版本时,直接进入登录/游戏流程。 -
BUILD-RELEASE-DEVFLOW-R-004:启动时检测需要资源热更新时,自动下载资源、解压资源并重新进入游戏;若更新未完成就退出,下次启动需要重新检测版本并继续更新流程。 -
BUILD-RELEASE-DEVFLOW-R-005:启动时检测需要更换包体时,弹出强制换包提示,引导玩家前往应用商店下载新包;该弹窗不可关闭,玩家只能跳转或退出应用。 -
BUILD-RELEASE-DEVFLOW-R-006:游戏过程中检测需要资源热更新时,服务端或资源系统推送不可关闭的重启提示;玩家点击后重启并进入资源更新流程。 -
BUILD-RELEASE-DEVFLOW-R-007:游戏过程中检测需要更换包体时,先提示玩家重启;重启后再检测包体并进入强制换包提示。 -
BUILD-RELEASE-DEVFLOW-R-008:iOS 不支持应用内自动重启时,重启按钮只退出游戏,玩家需要手动重新打开。 -
BUILD-RELEASE-DEVFLOW-R-009:分支策略需要定义开发分支、发布分支、修复分支和回滚路径。 -
BUILD-RELEASE-DEVFLOW-R-010:生产发布、凭据变更、权限变更、游戏服写入和重要数据操作必须等待明确制作人确认。 -
BUILD-RELEASE-DEVFLOW-R-011:ADP/Codex 自动执行只能提供 MR、验证和证据,不能代签发布批准。 -
BUILD-RELEASE-DEVFLOW-R-012:版本不匹配、维护、白名单和强更提示需要与账号登录流程一致。
12.3 执行层验收
- 如填写操作矩阵,成功路径、失败场景、玩家反馈和状态权威均已覆盖。
- 如填写 UI 页面状态表,页面 / 弹窗状态均已覆盖,或明确标记为
N/A。 - Section 7 中标记为 PLAN 前或执行前阻塞的 contract 已在
contract-registry.yaml、execution brief 或执行任务中确认。 - 相关 Feature Relations 回归通过。
13. 待澄清问题 / Open Questions
- Project2 当前是否已有正式构建机、CI、发布后台和环境矩阵。
- 客户端热更、整包发布、配置发布和服务端发布是否由同一流程管理。
- 分支策略是否继续沿用 客户端仓的
develop和其他仓的master,还是需要统一 release branch。 - 本功能是否应留在游戏功能库,还是拆到 Project2 Hub 标准/交付流程文档包。
14. 变更记录
| 日期 | 版本 | 修改人 | 变更摘要 |
|---|---|---|---|
| 2026-06-16 | v0.2 | Codex | 补充规则编号、操作矩阵、UI 状态表、逻辑字段和执行层验收锚点 |
| 2026-06-16 | v0.1 | Codex | 按新版功能策划案模板重排章节;保留既有规则内容并映射参考图 |