Vercel + Decap CMS 博客部署方法(可公开上线)
一份可直接复用的部署方案:Next.js 托管在 Vercel,文章通过 Decap CMS 管理,GitHub OAuth 控制后台写入权限。
这篇给出一套可直接落地的公开博客部署方案:前台在 Vercel,后台用 Decap CMS,可视化编辑后写回 GitHub 仓库。
架构
- 前端:Next.js(App Router)
- 托管:Vercel
- 内容:Markdown(
content/posts) - 后台:Decap CMS(
/admin) - 登录:GitHub OAuth(仅仓库有写权限的人可发布)
一次性配置
1) GitHub OAuth App
在 GitHub 创建 OAuth App:
- Homepage URL:
https://blog.fesnkie.com - Authorization callback URL:
https://blog.fesnkie.com/api/auth/callback
2) Vercel 环境变量
在 Vercel 项目里添加:
GITHUB_CLIENT_IDGITHUB_CLIENT_SECRET
添加后执行一次 Redeploy 让变量生效。
3) Decap 配置
public/admin/config.yml 与 public/config.yml 使用同一套后端:
backend:
name: github
repo: FrankieChiu/fesnkie-blog
branch: main
base_url: https://blog.fesnkie.com
auth_endpoint: api/auth发布流程(每天使用)
- 打开后台:
https://blog.fesnkie.com/admin/ - 用 GitHub 登录
- 新建或编辑文章
- 点击 Publish
- Decap 写入 GitHub,Vercel 自动触发部署
常见问题
登录成功但不进后台
优先检查:
https://blog.fesnkie.com/config.yml是否 200- Vercel 环境变量是否已配置并 redeploy
- OAuth callback 是否精确为
/api/auth/callback
安全提醒
如果在控制台或聊天里泄露过 token,务必立刻撤销对应 GitHub OAuth 授权并重新登录。