如何选择部署方式

docmd 提供四种让文档上线的方式。它们产出相同的结果 —— 一个部署到 GitHub Pages 或您所选托管服务的静态站点 —— 区别只在于您希望拥有多少控制权,以及您当前的起点。

快速决策矩阵

GitHub App 入门模板 (Starter Template) GitHub Action Deployer 包
起点 已有仓库 新仓库 任意 任意
搭建成本 一次点击 两次点击 编写 YAML 执行命令
工作流文件 自动生成 已包含 由您编写 自动生成
可定制性 生成后可改 从一开始就可改 完全可定制 完全可定制
托管目标 GitHub Pages GitHub Pages GitHub Pages 任意平台
Monorepo 支持 ✓ 自动检测 手动 --cwd
非 GitHub 托管 可改造 ✓ Docker、Nginx、Vercel、Netlify…

场景指南

“我想不到两分钟就让文档上线,零配置”

使用 GitHub App。安装它、选择您的仓库,即可完成。它会自动识别配置、生成工作流、启用 GitHub Pages 并部署 —— 您无需改动任何文件。

安装 GitHub App

“我要从零搭建一个全新的文档站点”

使用 入门模板 (Starter Template)。在 GitHub 上点击 “Use this template”,更新 docmd.config.json 填入标题与 URL,启用一次 GitHub Pages,然后推送。所有环节都已预先连接好。

使用入门模板

“我已经有 CI/CD 流水线,希望把文档加入进去”

使用 GitHub Action。在现有工作流中加入 docmd-io/deploy@v1。它能与其它步骤干净组合 —— 运行测试、构建应用、再构建文档,全部放在同一个 Job 里。

“我要部署到 Vercel、Netlify、Docker 或自己的服务器”

使用 Deployer 包。运行 npx @docmd/core deploy --vercel(或 --netlify--docker--nginx),即可生成与您 docmd.config.json 匹配的平台专属配置文件。

“我在 Monorepo 中,文档位于子目录”

GitHub AppDeployer 包 都能自动处理这种情况:前者能在仓库目录树任意位置识别配置,并自动注入正确的 --cwd 参数;后者会从当前工作目录读取配置。

如果您倾向使用 GitHub Action,请手动传入 --cwd

- run: npx @docmd/core build --cwd packages/docs

“我想在每个 Pull Request 上预览文档”

GitHub Action 与 PR 预览服务结合使用(例如 Cloudflare Pages 的 Preview 部署,或自托管的预览环境)。完整的操作步骤请参阅 预览变更

它们如何配合

这些方式并非互斥。常见的演进路径如下:

从 GitHub App 起步(最快的上线路径)
  ↓
随需求增长,定制自动生成的工作流文件
  ↓
加入 Deployer 包,生成用于自托管的 Nginx/Docker 配置
  ↓
把 Action 接入更宏观的 CI/CD 流水线

您也可以混搭使用:先用入门模板开启新项目,稍后再用 Deployer 包为 Staging 环境生成 Docker 镜像。

构建触发方式对比

方式 推送触发 手动触发 PR 预览
GitHub App ✓(自动配置) workflow_dispatch 需额外步骤
入门模板 (Starter Template) main / master workflow_dispatch 需额外步骤
GitHub Action 由您配置 由您配置 由您配置
Deployer 包 仅生成文件;触发由您的工作流决定

延伸阅读