跳转到内容

Vercel 部署

Vercel 提供全球边缘网络、自动 HTTPS 和极速部署,非常适合静态博客托管。Gridea Pro 对 Vercel 支持三种部署方式:

  • OAuth 集成(新版推荐)—— 直接从 Gridea Pro 登录 Vercel,由应用自身把静态文件推到 Vercel Deployment API
  • 通过 GitHub 仓库(传统推荐)—— Gridea Pro 推到 GitHub,Vercel 监听仓库自动构建
  • Vercel CLI 手动部署 —— 用 vercel --prod 一次性上传

Gridea Pro 在 Vercel Marketplace 上注册了一个 Vercel Integration(slug: gridea-pro)。这个 Integration 使用的是 Vercel 的 App 级授权而非标准 OAuth 2.0,流程与 GitHub/Gitee 略有不同。

  1. 打开 Gridea Pro,进入 设置 > 网络

  2. Vercel 卡片点击 OAuth 授权

  3. Gridea Pro 在本地启动固定端口 53683 的回调服务,并用系统默认浏览器打开 Vercel Integration 安装页:

    https://vercel.com/integrations/gridea-pro/new
    ?state=<随机 state>
  4. 在 Vercel 页面登录,选择要授权的 Team 或 Personal Account,点击 Install

  5. Vercel 302 回调到 http://127.0.0.1:53683/oauth/callback?code=...&state=...

  6. Gridea Pro:

    • POST https://api.vercel.com/v2/oauth/access_tokencodeaccess_token
    • GET https://api.vercel.com/v2/user 拉取 username、邮箱、Team 信息
    • 根据 username 构造头像 URL:https://vercel.com/api/www/avatar/<username>?s=160
  7. 浏览器显示”授权成功”页面,应用内卡片变为绿色”已连接 · OAuth”。

字段自动填充值
项目名<username>-blog
站点域名https://<username>-blog.vercel.app
用户名Vercel username
邮箱Vercel 账户邮箱
头像 URLhttps://vercel.com/api/www/avatar/<username>?s=160

<username>-blog 只是一个默认建议,你可以在授权后立即把项目名改成任何合法的 Vercel 项目名(只能含小写字母、数字、连字符,长度 ≤ 100)。改完后站点域名也需要相应修改为 https://<新项目名>.vercel.app

  1. Vercel 卡片点击 断开连接 → 确认。
  2. Gridea Pro 会从系统 Keychain 删除 vercel:token,并清空本机上的 Vercel 用户名、项目名、头像等元数据。
  3. (强烈建议)同时在 Vercel 官网移除 Integration

Vercel Integration 的 Token 属于账户级 API Token,能操作账户下所有项目,因此 Vercel 侧的撤销非常重要——只有这一步做完,之前颁发的 access_token 才会在 Vercel 服务端失效。

通过 GitHub 仓库部署(传统方式)

Section titled “通过 GitHub 仓库部署(传统方式)”

这种方式利用 Vercel 与 GitHub 的集成,每次 Gridea Pro 同步推送后自动触发部署。

  1. 先按照 GitHub Pages 部署的步骤创建 GitHub 仓库并配置 Gridea Pro
  2. 登录 Vercel,点击 Import Project
  3. 选择你的博客仓库
  4. Framework Preset 选择 Other
  5. Build Command 留空(Gridea Pro 已经生成了静态文件)
  6. Output Directory 设置为 .(根目录)
  7. 点击 Deploy

这种方式不需要在 Gridea Pro 里配置 Vercel 卡片,Gridea Pro 只负责推到 GitHub。

如果不想通过 OAuth 也不想经 GitHub,可以使用 Vercel CLI 直接上传:

Terminal window
# 安装 Vercel CLI
npm i -g vercel
# 进入 Gridea Pro 的输出目录
cd ~/Documents/Gridea/output
# 部署
vercel --prod
  1. 在 Vercel 项目的 Settings > Domains 中添加你的域名
  2. 按照提示在 DNS 中添加对应记录(CNAME 或 A 记录)
  3. Vercel 会自动签发 SSL 证书
  4. 在 Gridea Pro 中更新站点域名

Vercel 免费套餐包含:

特性限制
带宽100 GB / 月
构建次数6000 次 / 月
自定义域名50 个
HTTPS自动、免费
全球 CDN包含

可以在仓库根目录创建 vercel.json 自定义路由和头信息:

{
"headers": [
{
"source": "/styles/(.*)",
"headers": [
{ "key": "Cache-Control", "value": "public, max-age=31536000, immutable" }
]
}
],
"rewrites": [
{ "source": "/(.*)", "destination": "/404.html" }
]
}

关于 OAuth 的整体机制、令牌存储位置、固定端口冲突排查等,请参阅 OAuth 授权总览。如遇其它问题,请查阅常见问题部署概述中的通用排查步骤。