本文档用于固化 NoteConnection 文档从 MkDocs 构建到 GitHub Pages 发布的完整流程,并覆盖回滚与 404 故障排查。
- 仓库:
NoteConnection - 文档栈:
MkDocs (Material) - 发布通道:GitHub Pages project site(
gh-pages分支) - 对外地址:
https://jacobinwwey.github.io/NoteConnection/
若 CI 全绿但站点仍返回 404,通常是仓库尚未启用 Pages。
- 在 GitHub 页面进行一次性设置:
Settings -> Pages- Build and deployment:
- Source:
Deploy from a branch - Branch:
gh-pages - Folder:
/ (root)
- Source:
- 可选 CLI 初始化(维护者):
gh api -X POST repos/Jacobinwwey/NoteConnection/pages \
-f source[branch]=gh-pages \
-f source[path]=/- 验证:
gh api repos/Jacobinwwey/NoteConnection/pages
curl -I https://jacobinwwey.github.io/NoteConnection/预期状态:built 且 HTTP 200。
工作流文件:
.github/workflows/docs-github-pages-publish.yml
行为:
- 文档相关变更推送到
main/master后自动触发。 workflow_dispatch手动触发支持:git_ref(分支/tag/commit,可用于回滚)site_url(可选覆盖)base_path(可选覆盖)
npm run docs:diataxis:check
npm run docs:site:build构建产物目录:build/mkdocs-site。
- 打开
Docs GitHub Pages Publish工作流。 - 点击
Run workflow。 - 将
git_ref设为稳定 tag/commit(例如v1.6.6)。 - 保持
site_url与base_path与生产一致。 - 执行后验证线上地址。
git checkout <stable-tag-or-commit>
npm ci
npm run docs:diataxis:check
npm run docs:site:build本地验证通过后,再按方法 A 用同一 git_ref 发布。
- 检查工作流状态:
Docs GitHub Pages Publish必须成功。
- 检查
gh-pages分支是否存在并包含index.html。 - 检查 Pages API:
gh api repos/Jacobinwwey/NoteConnection/pages
- 若 API 返回
404 Not Found:- 说明仓库尚未启用 Pages,请按“一次性初始化”启用。
- 若 API 已是
built但仍异常:- 等待 1-5 分钟 CDN 同步,清除浏览器缓存后重试。
- 保持
docs/diataxis-map.json、mkdocs.yml、工作流配置一致。 - 将文档发布视为正式发布工件,记录 tag、URL、时间戳。
- 每次重大文档改动前,预先确定可回滚稳定版本。