这个工作流会自动执行以下操作:
- 解析文档:运行
parse_docs.py解析docs/目录下的文档 - 生成 SQL:将解析后的 JSON 数据转换为 SQL 语句
- 上传到 D1:将 SQL 文件上传到 Cloudflare D1 数据库
工作流会在以下情况下自动触发:
- 推送到
main或master分支,且修改了docs/目录下的文件或parse_docs.py - 针对
main或master分支的 Pull Request - 手动触发(通过 GitHub 网页界面)
在 GitHub 仓库的 Settings -> Secrets and variables -> Actions 中设置以下 secrets:
| Secret 名称 | 说明 | 获取方式 |
|---|---|---|
CLOUDFLARE_API_TOKEN |
Cloudflare API 令牌 | Cloudflare 控制台 -> My Profile -> API Tokens |
CLOUDFLARE_ACCOUNT_ID |
Cloudflare 账户 ID | Cloudflare 控制台 -> 右侧边栏 |
D1_DATABASE_ID |
D1 数据库 ID | wrangler d1 list 命令查看 |
-
获取 Cloudflare API Token
- 登录 Cloudflare 控制台
- 点击右上角头像 -> My Profile
- 选择 API Tokens 标签
- 点击 "Create Token"
- 使用 "Edit Cloudflare Workers" 模板
- 添加 D1 编辑权限
- 复制生成的 token
-
获取 Cloudflare Account ID
- 登录 Cloudflare 控制台
- 在右侧边栏可以看到 Account ID
- 复制该 ID
-
获取 D1 Database ID
- 运行命令:
wrangler d1 list - 找到你的数据库,复制 ID
- 运行命令:
-
在 GitHub 中设置 Secrets
- 打开 GitHub 仓库
- 进入 Settings -> Secrets and variables -> Actions
- 点击 "New repository secret"
- 依次添加上述三个 secrets
工作流中使用数据库名称为:english-search-db
确保你的 D1 数据库名称与此一致,或者在 workflow 文件中修改为你自己的数据库名称。
你也可以手动触发工作流:
- 打开 GitHub 仓库
- 点击 Actions 标签
- 选择 "Parse Docs and Upload to D1" 工作流
- 点击 "Run workflow"
- 选择分支,点击 "Run workflow"
如果工作流运行失败,请检查:
- Secrets 是否正确设置
- Cloudflare API Token 是否有足够的权限(D1 编辑权限)
- 数据库名称是否正确
docs/目录下是否有有效的文档文件
工作流运行后,可以在 GitHub Actions 页面查看详细的执行日志:
- 打开 GitHub 仓库
- 点击 Actions 标签
- 点击最近的一次运行记录
- 查看各个步骤的日志输出