正文
获取原文件references/release-state-contract.md
每个发布面记录目标、版本、时间和证据;一个部分完成不能推导其他部分完成。
| 发布面 | 状态 | 对应证据 |
|---|---|---|
| 源码 | LOCAL_CHANGED / LOCAL_VERIFIED |
工作目录、版本及未提交差异、实际检查 |
| Git | GIT_COMMITTED / GIT_PUSHED |
commit、分支、远端版本 |
| 服务 | DEPLOYED / VERIFIED / RESTORED |
目标、进程或服务、制品校验和、依赖与业务验证 |
| 数据 | BACKED_UP / MIGRATED / VERIFIED / RESTORED |
数据库身份、备份、迁移、关联与内容对账 |
| Web | BUILT / DEPLOYED / VERIFIED |
构建版本、校验和、目标地址、关键操作 |
| 客户端 | BUILT / PREVIEW_VERIFIED / UPLOADED / REVIEW_SUBMITTED / RELEASED |
目标端产物、实际预览、版本和审核状态 |
Release Manifest
记录发布 ID、源码 commit 和工作区变化、组件制品路径及校验和、目标环境与各自状态、数据库身份和迁移、配置变量名、备份与恢复方法、验证证据及授权来源。格式采用项目已有 JSON、YAML 或发布系统,不强制增加平台。
环境身份包含实际工作目录、构建、后端进程、端口、数据库主机/名称/数据目录、Schema 版本和配置类别。记录不得包含秘密值。代码、配置与运行进程不一致时,以实际检查确认当前服务对象。
状态更新
- 正常代码编辑只改变源码状态,外部状态由实际操作确认。
- 构建或相关配置改变后核对旧证据,版本不适用时重新验证。
- 数据变更核对目标、备份、兼容、迁移、内容与关联,再验证业务读取;进程健康不能替代数据连续性检查。
- 分别验证首次安装和已有数据环境续用,禁止无提示更换持久化位置。
- 核心业务 smoke 在授权环境和数据范围执行,测试产物按项目规则处理。
- 所有目标端分别验证,上传、审核与正式发布按实际结果登记。
- 并发任务记录资源归属,不终止其他任务进程或覆盖其数据。
用户已经授权具体操作时继续执行;缺少目标或额外影响授权时仅暂停受影响步骤。交付声明明确上线对象、环境、版本和验证结果。