如何在Vercel上创建Next.js应用的生产构建但不立即推广至生产环境?
完全可行!这个预生产验证后再推广的流程正是Vercel部署工作流里推荐的安全实践之一,刚好匹配你的需求。
具体实现步骤:
1. 创建预生产(生产构建级别的预览部署)
不用vercel --prod直接推生产,而是在项目根目录运行:
vercel
这个命令会生成一个生产环境构建的预览部署——它和正式生产部署用的是完全一致的构建配置(包括资源压缩、代码优化、生产环境变量加载),但只会生成一个临时预览URL(类似https://your-project-abc123.vercel.app),不会自动把你的生产域名流量路由到这里,完全满足你“无公网流量自动指向”的预生产环境要求。
你还可以给这个预生产部署设置固定自定义别名,方便测试访问:
vercel alias set <生成的预览URL> preprod.yourdomain.com
2. 在预生产环境运行E2E测试
将你的E2E测试工具(比如Cypress、Playwright)的目标地址指向这个预览URL(或你设置的preprod别名),完成所有端到端验证。
3. 验证通过后,将预生产部署推广至生产环境
当测试全部通过,只需用vercel alias命令把生产域名指向这个经过验证的部署版本:
vercel alias set <预览URL或部署ID> yourdomain.com
如果找不到预览URL,也可以通过vercel ls命令查看所有部署记录,找到对应的部署ID来替换。
额外实用提示:
- 每次
vercel部署都会生成唯一的版本记录,你可以在Vercel控制台的部署列表里找到所有历史版本,随时回滚或重新设置别名。 - 如果要在CI/CD管道里自动化这个流程,可以加上Vercel授权令牌和非交互参数:
# 部署预生产 vercel --token YOUR_VERCEL_TOKEN --yes # 执行E2E测试... # 验证通过后推广到生产 vercel alias set <部署URL> yourdomain.com --token YOUR_VERCEL_TOKEN --yes
这套流程能帮你避免直接部署到生产的风险,确保只有经过验证的版本才会承接公网流量。
内容的提问来源于stack exchange,提问作者BravoZulu
相关产品推荐
相关产品推荐

