Skip to content

proposal: replace Vercel GitHub App deploys with Vercel CLI in GitHub Actions #298

Description

@fennoai

背景

当前前端部署依赖 Vercel GitHub App。频繁提交 PR 或 commits 时,每次提交都会触发部署,可能触发 Vercel 免费额度/部署频率限制,导致 CI 或部署失败。

目标

调研并落地一个可控的 Vercel CLI + GitHub Actions 部署方案,减少对 Vercel GitHub App 自动部署的依赖,并明确 Preview 与 Production 的部署策略。

建议方案

  1. 在 GitHub Actions 中安装并调用 Vercel CLI。
  2. 在前端发生变更时执行安装依赖、构建检查,并通过 Vercel CLI 完成构建与上传/部署。
  3. 使用 GitHub Actions Secrets 或 Environment Secrets 管理 Vercel 所需凭据(至少包括 VERCEL_TOKENVERCEL_ORG_IDVERCEL_PROJECT_ID)。
  4. 为 PR Preview 与默认分支 Production 部署分别设计触发条件,避免无关改动重复部署。
  5. 增加并发控制、取消过期部署,以及必要的失败重试/日志输出,降低频繁提交造成的限速影响。
  6. 评估是否需要关闭或调整 Vercel GitHub App 的重复自动部署,避免 CLI 与 App 同时部署同一提交。

需要确认

  • 当前 Vercel 项目的 Preview/Production 分支与域名配置。
  • 免费额度和部署频率限制下的安全触发策略。
  • GitHub Actions 中应使用 vercel pullvercel buildvercel deploy --prebuilt,还是直接使用 vercel deploy
  • 部署密钥的最小权限、轮换方式,以及生产环境审批要求。
  • 是否保留 Vercel GitHub App,仅用于状态回写,还是完全改为 CLI 管理。

验收标准

  • 前端变更可以通过 GitHub Actions 使用 Vercel CLI 完成 Preview 部署。
  • 默认分支的 Production 部署策略已实现并有明确保护措施。
  • 必要 Secrets、权限和配置文档已补充,且不在日志中泄露凭据。
  • 不会因 Vercel App 与 CLI 重复触发而产生重复部署。
  • 已验证非前端改动不会触发不必要的部署,且工作流失败时能给出可诊断日志。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions