项目文档与内容发布流程

说明内容包依赖、只新增与同步模式、父子文档发布、冲突处理和公开侧验收。

自动化

内容来源与依赖

运维场景主清单位于 scripts/data/ops-scenarios.json,分片通过 content_files 合并;知识正文在 scripts/data/knowledge/。项目与文档由项目内容包维护,本站元数据在 scripts/data/projects/website.json,正文在 scripts/data/project-docs/douya-ops-website/。修改正文文件不会自动修改数据库。

导入通过管理 API 创建、关联并发布,因此会维护审计、搜索和更新记录。项目文档引用既有分类、标签、工具和场景,先初始化运维目录;不要直接写 SQL 绕过发布事务。

执行前检查

需要可访问的 API、已初始化且具备相应发布权限的管理员。Make 载入本地 .env 的管理员配置,脚本也支持 OPS_CONTENT_ADMIN_*;已启用 MFA 时需通过安全环境变量提供当前绑定密钥。不要在命令行参数或文章中粘贴密码、Cookie、CSRF Token。

先只检查文件与依赖,不进行发布:

make check-ops-content
make check-knowledge-content
make check-project-docs-content

首次发布与同步

确认目标为授权写入的本地或测试环境后执行:

make seed-ops-scenarios
make seed-knowledge
make seed-project-docs

默认只新增缺失内容,保留已发布条目;并不把已有数据库全文强制覆盖成内容包。修订包内项目和文档后,审核差异再运行 make sync-project-docs,它使用 --update-existing 同步包内内容与关系,不修改已有工具、分类、标签或知识文章。

非默认 API 地址可使用 OPS_CONTENT_API_BASE=http://127.0.0.1:8081 make seed-project-docs。运行前确认该地址属于本次任务,不要因端口相同就认定数据库正确。

层级与公开路径

本站手册根节点是 handbook,子节点如 local-development 的公开路径为 /docs/douya-ops-website/handbook/local-development。新文档先关联正确项目,再确定父节点和排序;项目和祖先必须满足公开条件,不能仅看当前节点状态。

Slug 与父节点共同影响 URL。移动目录可能改变整个子树路径,服务端路径更新并不会自动修订其他正文中的手写链接。调整前记录原路径和入链,完成后重新验证。文档 version 是可选文本标记,不是自动生成的版本快照。

公开侧验收

直接执行 Node 脚本需自行提供环境变量;只读核验不需要管理员凭据:

OPS_CONTENT_API_BASE=http://127.0.0.1:8080 node scripts/seed-project-docs.mjs --verify-only

同时打开项目页手册根节点,检查全文、父子目录、相邻文档、安全链接和搜索结果。代码块是供人工审查的示例,不会在浏览器执行。

冲突、停止与恢复

遇到 Slug 冲突、归档项、未预期草稿、依赖不可公开或乐观锁冲突时停止同步,先保留双方版本并查明归属,不自动覆盖他人改动。导入跨多个请求,不是整包原子事务;中途失败应先检查已创建记录,再安全重跑。文字错误通过后台修订恢复,不能靠数据库回滚撤销整次内容发布。

接口细节见API 速查,交付检查见发布清单

DOUYA OPS ECOSYSTEM

完善文档,帮助更多运维人

把安装、配置、API 与运维方法沉淀为清晰文档,让工具和项目更容易被正确使用。