解决其他账号无法在 Vercel 创建部署问题
今天收到 Vercel 邮件:
We’re writing to notify you that Github_Account_A is attempting to deploy a commit to Github_Account_B’s projects on Vercel through GitHub, but they are not a member of the team.
To resolve this issue, you can:
- Upgrade to Pro and add them as a collaborator on your Vercel team
- If the user is already a member of your Vercel team, ensure their GitHub account is connected to their Vercel account on their Authentication Settings page
- If applicable, make your repository public
而在 GitHub 中 commit 错误是:
从头描述一下问题,我有 A、B 两个博客,A 是目前这个,用的 Hugo + Github Pages 。B 是把 GitHub B 账号中的 Hugo 项目部署到 Vercel 并由 Vercel 自动编译。我的文档都在 Obsidian 里写,靠 Obsidian 里的 Git 插件一键 commit(用的 A 账号)。而为了让不同 Github 账号下的两个特定文件夹同步,之前写过 步骤 。也就是说,B 博客的每次更新其实是由 A 账号 commit 再触发 Vercel 自动编译。而 Vercel 提醒,需要加钱升级成 pro 账户才能使用协作模式,否则不会认可由另一个账号提交的部署请求。(之前成功据说是 Vercel 的 bug,hobby 账户不能多人提交,而最近修复了这个问题。)
Stackoverflow 上有类似 提问 ,最高赞是在 terminal 中切换邮箱,而我正是不想打开 terminal。采取了这个 答案 的方案,在这里简述下中文流程存个档。
一句话简述,停用原始 Vercel 自动编译,换用 GitHub Actions。
停用 Vercel 自动编译
在 Github 对应仓库中,Repository Settings -> GitHub Apps -> Vercel Config,选择 suspend 或者 uninstall。
获取 Vercel token 和 ID
参见 GitHub 讨论 。
VERCEL_TOKEN:
登陆 Vercel 账号,在 Account Settings -> Tokens 创建新 Token,复制。
VERCEL_ORG_ID:
在
Account Settings
里一直拉到最下,找到 Vercel ID,复制。
VERCEL_PROJECT_ID:
在对应的 Project Settings
找到 Project ID,复制。
创建 GitHub Repository Secrets
进入 Hugo 项目仓库,Settings -> Secrets and variables -> Actions。
新建三个 Secrets,名字如下所示,填入上一步保存的各项值。
新建 Github Actions
访问 Vercel 的 document ,复制里面的 workflow template,在仓库中新建两个 workflow 文件。
完成。
在 Obsidian 提交试试看,成功!
题外话,抛开 N 多半成品草稿来解决临时问题,难怪博客圈子里技术文章多呢。一是只要想折腾,就会面对层出不穷的新麻烦;二是只要问题被解决,这种内容写起来就飞快!
Comments