Cloudflare Pages 部署指南
前置条件
- Cloudflare 账号(免费即可)
- GitHub 仓库:
xy111a/gtm-knowledge-base
步骤 1:获取 Cloudflare API Token
- 登录 Cloudflare Dashboard
- 点击右上角头像 → My Profile → API Tokens
- 点击 Create Token
- 选择 Cloudflare Pages 模板
- 权限设置:
Account→Cloudflare Pages→EditZone→Zone→Read(如果需要自定义域名)
- 点击 Continue to summary → Create Token
- 复制生成的 Token
步骤 2:获取 Account ID
- 在 Cloudflare Dashboard 右侧边栏可以看到 Account ID
- 或者访问任意域名的 Overview 页面,右侧会显示 Account ID
- 复制这个 ID
步骤 3:配置 GitHub Secrets
- 打开 GitHub 仓库(私有仓库,需管理员邀请):
xy111a/gtm-knowledge-base - 进入 Settings → Secrets and variables → Actions
- 点击 New repository secret
- 添加以下 Secrets:
| Name | Value |
|---|---|
CLOUDFLARE_API_TOKEN | 步骤 1 获取的 Token |
CLOUDFLARE_ACCOUNT_ID | 步骤 2 获取的 Account ID |
步骤 4:创建 Cloudflare Pages 项目
方法 A:通过 Cloudflare Dashboard(推荐)
- 登录 Cloudflare Dashboard
- 左侧边栏点击 Workers & Pages
- 点击 Create → Pages → Connect to Git
- 选择 GitHub → 选择
gtm-knowledge-base仓库 - 配置构建设置:
- Production branch:
main - Build command:
pnpm install && pnpm run build - Build output directory:
docs/.vitepress/dist - Node.js version:
20
- Production branch:
- 点击 Save and Deploy
方法 B:通过 Wrangler CLI
bash
# 安装 Wrangler
npm install -g wrangler
# 登录
wrangler login
# 创建 Pages 项目
wrangler pages project create gtm-knowledge-base
# 手动部署(可选,用于测试)
cd gtm-site
pnpm install && pnpm run build
wrangler pages deploy docs/.vitepress/dist --project-name=gtm-knowledge-base步骤 5:配置自动部署
一旦 Cloudflare Pages 项目与 GitHub 仓库关联,每次推送到 main 分支都会自动触发部署。
部署流程
推送代码 → GitHub Actions 构建 → Cloudflare Pages 部署
↑
└── 飞书同步(每15分钟)→ 自动提交 → 触发部署步骤 6:配置自定义域名(可选)
- 在 Cloudflare Pages 项目设置中点击 Custom domains
- 输入你的域名(如
gtm.yourcompany.com) - 按照提示配置 DNS 记录
- SSL 证书会自动配置
验证部署
- 访问 Cloudflare Pages 提供的默认域名:
https://gtm-knowledge-base.pages.dev - 检查网站是否正常加载
- 测试搜索功能
- 测试交互组件(P&L 计算器、甘特图等)
常见问题
构建失败
检查 GitHub Actions 日志:
- 打开仓库的 Actions 页面(私有仓库需登录)
- 点击失败的 workflow
- 查看详细错误信息
飞书同步失败
需要配置飞书相关的 Secrets:
| Name | Value |
|---|---|
FEISHU_APP_ID | 飞书开放平台 App ID |
FEISHU_APP_SECRET | 飞书开放平台 App Secret |
FEISHU_USER_ACCESS_TOKEN | 用户访问令牌(可选) |
搜索不工作
VitePress 的本地搜索在构建时生成索引,确保:
- 文档中有足够的 frontmatter(title, description)
- 构建时没有错误
监控
- Cloudflare Analytics: 在 Pages 项目中查看访问统计
- GitHub Actions: 在 Actions 页面查看构建状态
- Cloudflare Status: https://www.cloudflarestatus.com/
成本
| 服务 | 免费额度 | 本项目预估 |
|---|---|---|
| Cloudflare Pages | 500 次构建/月,无限请求 | $0 |
| GitHub Actions | 2000 分钟/月 | $0 |
| 飞书 API | 免费 | $0 |
| 总计 | $0/月 |