配置获取指南
工作台一共只需要两份配置:GitHub 只读 key(用来拉代码)和 Cloudflare 账号 ID + API Token(用来发布)。下面每一项都写了“去哪里、点什么、复制什么、填到哪里、怎么验证”。
| 配置项 | 谁来做 | 填到哪里 | 大约耗时 |
|---|---|---|---|
| ① GitHub 只读 key | 有仓库管理权限的研发负责人 | git/keys/github_readonly | 5 分钟 |
| ② GitHub 仓库地址、默认分支 | 一般不用改 | git/github.json | 1 分钟 |
| ③ Cloudflare 账号 | Cloudflare 管理员(没有就自己注册) | — | 3 分钟 |
| ④ Cloudflare 账号 ID | 同上 | deploy/cloudflare.json 的 accountId | 1 分钟 |
| ⑤ Cloudflare API Token | 同上 | deploy/cloudflare.json 的 apiToken | 3 分钟 |
| ⑥ 项目名、站点地址 | 一般不用改 | deploy/cloudflare.json 的 projectName / siteUrl | 1 分钟 |
| ⑦(建议)访问保护 | Cloudflare 管理员 | Cloudflare 后台 | 5 分钟 |
| ⑧ 自检 | 你(对 AI 说一句话) | — | 1 分钟 |
github.json、cloudflare.json 都是密钥:不要发到群里、不要截图、不要提交到任何地方。工作台发布时会自动排除它们,并扫描一遍防止误发。① GitHub 只读 key
这把 key 只能读 fanzy-web 仓库,不能写。即使泄露,别人也改不了代码。需要一位对仓库 novusbase/ifanzy-web 有 Admin 权限的研发负责人完成第 1、2 步。
第 1 步:生成 key(研发负责人,在自己的 Mac 上)
- 打开「终端」:按 ⌘ 空格,输入「终端」,回车
- 粘贴下面这行并回车(会在「桌面」生成两个文件):
cd ~/Desktop && ssh-keygen -t ed25519 -C "fanzy-product-readonly" -f github_readonly -N "" - 桌面上出现两个文件:
github_readonly:私钥,第 3 步交给产品github_readonly.pub:公钥,第 2 步加到 GitHub
- 复制公钥内容:
执行后公钥已在剪贴板里(一行,以pbcopy < ~/Desktop/github_readonly.pubssh-ed25519开头)
第 2 步:把公钥加到仓库的 Deploy keys(研发负责人)
直达链接:https://github.com/novusbase/ifanzy-web/settings/keys
- 浏览器登录 GitHub,打开仓库
novusbase/ifanzy-web - 点仓库顶部标签栏最右边的 Settings(看不到 Settings 说明没有 Admin 权限,找有权限的人)
- 左侧菜单「Security」分组里点 Deploy keys
- 右上角点 Add deploy key
- Title 填
fanzy-product-readonly - Key 里粘贴第 1 步复制的公钥(⌘ V)
- 不要勾选 「Allow write access」,保持只读
- 点 Add key,GitHub 可能要求再输一次密码或验证码
- 列表里出现
fanzy-product-readonly,标注 Read-only,就完成了
第 3 步:把私钥放进工作台(产品)
- 研发负责人通过私聊或 U 盘把
github_readonly(没有 .pub 的那个)发给你,不要发群 - 在访达里打开工作台文件夹 →
git→keys - 把
github_readonly拖进去。文件名必须完全一致,没有扩展名(如果系统自动加了 .txt,要删掉) - 研发负责人可以删掉自己桌面上的两个 key 文件(公钥已存到 GitHub,私钥已交给你)
chmod 600)。GitHub 常见问题
| 现象 | 原因 | 处理 |
|---|---|---|
| 仓库页面没有 Settings | 账号不是仓库 Admin | 找有 Admin 权限的研发负责人操作第 2 步 |
Add key 时提示 Key is already in use | 同一把公钥已经加在别的仓库或账号上 | 重新执行第 1 步生成一把新 key |
自检提示 Permission denied (publickey) | 公钥没加上,或私钥和公钥不是同一对 | 核对第 2 步列表里有没有这把 key;不确定就整套重新生成 |
| 自检提示「找不到 GitHub 只读 key」 | 文件位置或文件名不对 | 确认路径是 git/keys/github_readonly,没有扩展名 |
Could not resolve hostname github.com | 网络问题 | 检查网络或代理后重试 |
② GitHub 仓库地址、默认分支
git/github.json 已经写好,一般不用改:
{
"repo": "git@github.com:novusbase/ifanzy-web.git",
"defaultBranch": "master",
"sshKeyPath": "git/keys/github_readonly"
}
| 字段 | 含义 | 需要改时去哪里找 |
|---|---|---|
repo | 仓库地址(SSH 格式) | 仓库首页 → 绿色 Code 按钮 → SSH 标签 → 复制,以 git@github.com: 开头 |
defaultBranch | 开新需求时不选分支就用它 | 仓库首页左上角分支下拉框默认显示的分支;或 Settings → General → Default branch |
sshKeyPath | 私钥位置 | 保持 git/keys/github_readonly;留空表示用电脑自带的 ssh(只适合研发电脑) |
如果工作台里没有 git/github.json,复制一份 git/github.example.json 改名即可,或者对 AI 说「帮我生成 github.json」。
③ Cloudflare 账号
先问管理员公司有没有 Cloudflare 账号。有:请管理员把你加为成员(Manage Account → Members → Invite,角色至少给 Cloudflare Pages 的管理权限),或者让管理员直接完成 ④⑤ 两步,把结果私聊发给你。没有:自己注册一个免费账号:
- 打开
https://dash.cloudflare.com/sign-up - 填邮箱和密码 → 去邮箱点验证链接
- 登录后看到「Account home」页面就完成了,不需要添加域名,也不需要绑卡,免费版就够用
④ Cloudflare 账号 ID(accountId)
账号 ID 是一串 32 位的字母加数字,例如 3f2a9c…(共 32 位)。有两种找法,任选一种:
方法 A:从浏览器地址栏复制(最快)
- 登录
https://dash.cloudflare.com,点进你的账号 - 看浏览器地址栏,形如
https://dash.cloudflare.com/3f2a9c……/home dash.cloudflare.com/后面、下一个/前面那 32 位就是账号 ID
方法 B:从页面上复制
- 左侧菜单点 Workers & Pages(新版后台可能在 Compute 分组下)
- 页面右侧栏「Account details」里有 Account ID,点旁边的复制图标
填到 deploy/cloudflare.json 的 accountId。
⑤ Cloudflare API Token(apiToken)
直达链接:https://dash.cloudflare.com/profile/api-tokens
- 右上角头像 → My Profile(我的个人资料) → 左侧 API Tokens(API 令牌)
- 点 Create Token(创建令牌)
- 页面最下方「Custom token(自定义令牌)」点 Get started(开始使用)。不要选上面的现成模板
- Token name 填
fanzy-product-publish - Permissions(权限)只加一行,三个下拉框依次选:
第 1 个 第 2 个 第 3 个 Account(帐户)Cloudflare PagesEdit(编辑) - Account Resources(帐户资源):
Include→ 选你的账号 - Client IP Address Filtering:留空
- TTL(有效期):建议设 1 年,到期前重新创建一次即可
- 点 Continue to summary,确认摘要里只有一行「你的账号 - Cloudflare Pages:Edit」
- 点 Create Token,页面显示一串 Token,点 Copy。它只显示这一次,关掉页面就看不到了,丢了只能重新创建
- 填到
deploy/cloudflare.json的apiToken
创建完成页面上会有一段 curl 测试命令,可以不用管,自检时 AI 会帮你验证。
⑥ 项目名、站点地址
{
"accountId": "④ 的 32 位账号 ID",
"apiToken": "⑤ 复制的 Token",
"projectName": "fanzy-product",
"siteUrl": ""
}
| 字段 | 含义 | 怎么填 |
|---|---|---|
projectName | Cloudflare Pages 项目名,所有发布都只进这一个项目 | 保持 fanzy-product 即可。不用先去后台建,第一次发布时会自动创建。规则:小写字母、数字、连字符;不能以 ifanzy 开头(那是研发环境)。如果提示名字已被占用,换一个,例如 fanzy-product-pm |
siteUrl | 工作台首页地址 | 留空 = 自动使用 https://<项目名>.pages.dev。以后绑定了自定义域名再填,例如 https://pm.example.com |
发布后的地址:
工作台首页 https://fanzy-product.pages.dev/
每个版本 https://v20261030-login-welcome.fanzy-product.pages.dev/ (由版本号自动生成)
如果工作台里没有 deploy/cloudflare.json,复制一份 deploy/cloudflare.example.json 改名即可,或者对 AI 说「帮我生成 cloudflare.json」,然后把两个值私下填进去。不要把 Token 发在 AI 对话里,直接用文本编辑器填进文件更安全。
⑦(建议)访问保护
站点里有未上线功能的截图和 demo,默认任何拿到链接的人都能打开。建议开启邮箱验证,只让公司邮箱访问。项目第一次发布后(后台能看到 fanzy-product)再做:
保护各版本链接(一键)
- Workers & Pages → 点项目
fanzy-product→ Settings → General - 找到 Access policy,点 Enable access policy
- 这会保护所有
*.fanzy-product.pages.dev的版本链接,默认只允许你账号的邮箱。要让同事访问,点进生成的策略把规则改成「Emails ending in@公司域名」
保护工作台首页
- 左侧 Zero Trust → Access → Applications → Add an application → Self-hosted
- Application domain 填
fanzy-product.pages.dev - Policy:Action 选 Allow,Include 选「Emails ending in」→ 填
@公司域名 - 保存。之后打开链接需要输入公司邮箱收验证码
Zero Trust 首次进入会让你选套餐,选 Free(50 人以内免费),可能需要绑卡但不扣费。不开保护也能正常使用。
⑧ 自检
| 自检提示 | 回到哪一步 |
|---|---|
| 缺少 git/github.json / 找不到 GitHub 只读 key / GitHub 仓库无法访问 | ① ②,以及 GitHub 常见问题 |
| 缺少 deploy/cloudflare.json / accountId 未填写 | ④ |
| apiToken 未填写 / Token 无效或权限不足 | ⑤:确认权限是 Account · Cloudflare Pages · Edit、账号选对了、没有过期 |
| projectName 不能是研发环境项目 | ⑥:换一个不以 ifanzy 开头的名字 |
| 无法连接 Cloudflare | 网络问题,稍后重试 |
全部通过后,按 最小例子 完整走一遍。