docs: 填写任务归档 (#24)
@@ -1,9 +1,9 @@
|
||||
# 24 部署文档模板与位置约定
|
||||
|
||||
- 类型:需求 / 缺陷 / 重构
|
||||
- 类型:需求
|
||||
- 所属 Epic:#
|
||||
- 所属 MVP / 版本:#
|
||||
- 状态:待验收 / 已完成
|
||||
- 状态:待验收
|
||||
- 日期:2026-08-19
|
||||
- Gitea 工单:https://git.ilapage.cn/OPC/dev_harness/issues/24
|
||||
- Wiki 页面:Task-24-部署文档模板与位置约定
|
||||
@@ -11,32 +11,57 @@
|
||||
|
||||
## 背景与目标
|
||||
|
||||
<!-- 原来有什么问题,这次达到什么结果。 -->
|
||||
`AGENTS.md` 与 `Development-Workflow` 都要求「部署命令变化时必须更新对应 Wiki」,但核心文档集里没有任何一页承载部署职责,唯一相关落点 `docs/delivery/` 面向客户和外部运维岗位,属于交付文档而非面向项目维护者的开发文档。规则存在指向空洞,各项目只能自行猜测部署文档写在哪里。
|
||||
|
||||
本次为面向项目内部维护者的部署文档提供固定模板与位置约定,把 nginx 反向代理 + supervisor 进程托管这套标准做法固化下来,并让「本项目是否需要部署页」成为新项目初始化时的一次明确判定。
|
||||
|
||||
## 最终方案
|
||||
|
||||
<!-- 说明实际实现。与建单方案不同之处必须写清原因。 -->
|
||||
与建单方案一致,无偏离。
|
||||
|
||||
1. 新增 Wiki 页面 `Deployment-Template`,镜像到 `docs/templates/deployment.md`,定位与 `Task-Archive-Template` 同级,属于「复制后填写」的模板,不描述 dev_harness 自身(本仓库无常驻服务)。章节:服务概览、环境要求、首次部署、supervisor 配置、nginx 配置、配置与凭据来源、日常运维、健康检查、升级与回滚(含备份与恢复)、已知限制,另含本页用途与安全边界两节。示例按 Python 服务(gunicorn,附 uvicorn 替换说明)编写,服务只监听 `127.0.0.1` 并经 nginx 转发,每条命令写明预期结果;配置与凭据只写来源,模板内不含任何真实值。
|
||||
2. `wiki-docs.json` 增加 `Deployment-Template -> docs/templates/deployment.md` 映射。
|
||||
3. `New-Project-Documentation-Setup` 的「9. 人工确认」增加「本项目是否有需要部署的常驻服务」,并说明部署页按需创建、不属于必需核心页面。
|
||||
4. `Development-Workflow` 与 `AGENTS.md` 补明部署命令的落点:有常驻服务的项目更新自己的 `Deployment-and-Operations` 页面,没有的记录为无部署文档影响,不创建空的部署页。
|
||||
5. `dev_scripts/harness.py` 的 `REQUIRED_FILES` 增加 `docs/templates/deployment.md`;不加入 `CORE_DOCUMENT_REQUIREMENTS`,避免纯库和 CLI 项目被迫产出空实例页。
|
||||
|
||||
不涉及数据库、接口和运行时安全边界。影响下游契约:已采用 DevHarness 的项目升级基线后,未同步该模板文件会导致 `check --strict` 失败,属预期升级动作。
|
||||
|
||||
## 修改文件
|
||||
|
||||
- `<文件>`:<改动说明>
|
||||
- `docs/templates/deployment.md`:新增,`Deployment-Template` 的只读镜像。
|
||||
- `wiki-docs.json`:增加 `Deployment-Template` 映射。
|
||||
- `docs/01-workflow.md`:镜像更新,补充部署命令落点。
|
||||
- `docs/07-new-project-documentation-setup.md`:镜像更新,补充常驻服务判定与部署页按需创建说明。
|
||||
- `AGENTS.md`:「文档影响」增加部署文档落点规则。
|
||||
- `dev_scripts/harness.py`:`REQUIRED_FILES` 增加部署模板文件。
|
||||
- `tests/test_harness_docs.py`:增加两条断言,覆盖模板必需性、映射正确性、不进入强制章节检查,以及文件缺失时 `check_required_files` 报错。
|
||||
|
||||
## 验收结果
|
||||
|
||||
| 验收标准 | 结果 |
|
||||
|---|---|
|
||||
| | 通过 / 未通过 |
|
||||
| `Deployment-Template` 创建成功并在线回读取得 revision,镜像导出为 `docs/templates/deployment.md` | 通过(revision `948321c2f3e4`) |
|
||||
| 模板包含全部约定章节,示例为 Python 服务风格,每条命令有预期结果,不含真实凭据或生产数据 | 通过 |
|
||||
| `wiki-docs.json` 增加映射,`sync --check` 通过 | 通过 |
|
||||
| `docs/07`、`docs/01`、`AGENTS.md` 落点与判定描述一致,无残留指向空洞 | 通过 |
|
||||
| `REQUIRED_FILES` 包含模板文件,缺失时 `check --strict` 失败且有测试覆盖 | 通过 |
|
||||
| `check --strict` 与全部单元测试通过 | 通过 |
|
||||
|
||||
## 测试
|
||||
|
||||
- 执行命令:`<命令>`
|
||||
- 结果:
|
||||
- **未验证部分**:<!-- 必填;没有就写“无”。 -->
|
||||
- 执行命令:`python dev_scripts/harness.py check --strict`
|
||||
- 结果:通过,输出「DevHarness 检查通过」。
|
||||
- 执行命令:`python -m unittest discover -s tests -v`
|
||||
- 结果:通过,42 项全部成功(含本次新增 2 项)。
|
||||
- 执行命令:`python dev_scripts/harness.py sync --check`
|
||||
- 结果:通过,全部映射页面一致,输出「Wiki 镜像检查通过」。
|
||||
- **未验证部分**:模板描述的实际部署流程(nginx、supervisor、gunicorn 命令与配置)未在真实服务器上执行验证,本仓库无常驻服务可供演练;首个采用该模板的业务项目应在其部署工单中完成真实验证并回写差异。
|
||||
|
||||
## 遗留问题
|
||||
|
||||
<!-- 没有就删除本节。 -->
|
||||
- 已采用 DevHarness 的下游项目升级基线时,需同步 `docs/templates/deployment.md`,否则 `check --strict` 会因缺少必需文件失败。该点需在升级说明中提示。
|
||||
|
||||
## 相关提交
|
||||
|
||||
- `<提交哈希>` <提交说明>
|
||||
- `65c2061` docs: 新增部署文档模板与位置约定 (#24)
|
||||
|
||||
Reference in New Issue
Block a user