Skip to main content

Vercel CLI 自动化部署完整教程

📦 安装 Vercel CLI​

全局安装​

npm i -g vercel

验证安装​

vercel --version
# 输出: Vercel CLI 48.10.2 (或更高版本)

🔐 登录和认证​

登录 Vercel​

vercel login

选择登录方式:

  • GitHub
  • GitLab
  • Bitbucket
  • Email

查看当前登录用户​

vercel whoami

登出​

vercel logout

🚀 基础部署命令​

1. 首次部署(开发环境)​

vercel

# 或使用别名
vercel deploy

交互式问题:

? Set up and deploy "~/path/to/project"? [Y/n] Y
? Which scope should contain your project? <选择账户>
? Link to existing project? [y/N] N
? What's your project's name? blog-site
? In which directory is your code located? ./

2. 部署到生产环境​

vercel --prod

# 或使用长格式
vercel --production

3. 静默部署(跳过确认)​

vercel --yes

# 生产环境静默部署
vercel --prod --yes

🔧 部署配置选项​

环境变量​

# 设置环境变量
vercel --env NODE_ENV=production

# 设置多个环境变量
vercel --env API_KEY=xxx --env DB_URL=yyy

# 从文件加载环境变量
vercel --env-file=.env.production

指定项目名称​

vercel --name my-project

指定输出目录​

vercel --output build

指定构建命令​

vercel --build-env CUSTOM_VAR=value

强制重新构建​

vercel --force

📋 项目管理命令​

列出所有部署​

vercel ls

# 列出指定项目的部署
vercel ls blog-site

# 限制结果数量
vercel ls --count 10

查看项目信息​

vercel inspect

# 查看指定 URL 的部署信息
vercel inspect <deployment-url>

删除部署​

# 删除指定部署
vercel rm <deployment-url>

# 删除项目
vercel rm blog-site --yes

🔗 项目链接管理​

链接到现有项目​

vercel link

# 或在部署时链接
vercel --link

取消项目链接​

vercel unlink

查看链接状态​

vercel project ls

📊 日志和调试​

查看部署日志​

vercel logs

# 查看指定部署的日志
vercel logs <deployment-url>

# 实时查看日志
vercel logs --follow
vercel logs -f

# 查看构建日志
vercel logs --build

查看函数日志​

vercel logs --function=api/hello

🌍 域名管理​

添加域名​

vercel domains add example.com

列出域名​

vercel domains ls

删除域名​

vercel domains rm example.com

为部署设置别名​

vercel alias <deployment-url> <custom-domain>

# 示例
vercel alias blog-site-xxx.vercel.app blog.example.com

🔒 密钥和环境变量管理​

添加环境变量​

vercel env add

# 交互式添加:
# ? What's the name of the variable? API_KEY
# ? What's the value? your-secret-key
# ? Add to which Environments? Production, Preview, Development

列出环境变量​

vercel env ls

拉取环境变量到本地​

vercel env pull .env.local

删除环境变量​

vercel env rm API_KEY

📦 高级部署命令​

部署特定分支​

vercel --prod --branch main

部署到特定区域​

vercel --regions sfo1

# 多个区域
vercel --regions sfo1,cdg1

设置部署超时​

vercel --timeout 60s

跳过自动检测框架​

vercel --no-framework

🔄 CI/CD 集成命令​

GitHub Actions 中使用​

# 安装
- run: npm i -g vercel

# 拉取项目配置
- run: vercel pull --yes --environment=production --token=${{ secrets.VERCEL_TOKEN }}

# 构建
- run: vercel build --prod --token=${{ secrets.VERCEL_TOKEN }}

# 部署
- run: vercel deploy --prebuilt --prod --token=${{ secrets.VERCEL_TOKEN }}

使用 Token 认证​

vercel --token <your-token>

# 示例
vercel --prod --token xxx --yes

📝 项目配置命令​

列出所有项目​

vercel project ls

添加项目​

vercel project add

删除项目​

vercel project rm blog-site

🎯 实用组合命令​

完整部署流程​

# 1. 登录
vercel login

# 2. 链接项目(首次)
vercel link

# 3. 拉取环境变量
vercel env pull

# 4. 本地构建测试
npm run build

# 5. 部署到预览环境
vercel

# 6. 确认无误后部署到生产
vercel --prod

快速重新部署​

# 获取最新部署
vercel ls --count 1

# 部署到生产
vercel --prod --yes

回滚到指定版本​

# 1. 列出所有部署
vercel ls

# 2. 将旧版本设为生产环境
vercel alias <old-deployment-url> production

🔍 常用命令速查​

命令说明
vercel部署到预览环境
vercel --prod部署到生产环境
vercel ls列出所有部署
vercel logs查看日志
vercel inspect查看部署详情
vercel env ls列出环境变量
vercel env pull拉取环境变量
vercel domains ls列出域名
vercel alias设置域名别名
vercel rm删除部署
vercel link链接项目
vercel whoami查看当前用户

📱 Vercel CLI 配置文件​

vercel.json 配置示例​

{
"version": 2,
"name": "blog-site",
"buildCommand": "npm run build",
"outputDirectory": "build",
"installCommand": "npm install",
"devCommand": "npm start",
"framework": null,
"regions": ["sfo1"],
"env": {
"NODE_ENV": "production"
},
"build": {
"env": {
"NEXT_PUBLIC_API_URL": "@api-url"
}
},
"routes": [
{
"src": "/api/(.*)",
"dest": "/api/$1"
}
]
}

.vercelignore 示例​

# 忽略文件
node_modules
.git
.env.local
.DS_Store
*.log

# 文档
README.md
CHANGELOG.md

🛠️ 故障排查命令​

调试模式​

vercel --debug

查看详细输出​

vercel --prod --verbose

测试配置​

# 验证 vercel.json
vercel dev

清理缓存​

# 删除本地配置
rm -rf .vercel

# 重新链接
vercel link

💡 最佳实践​

1. 本地开发流程​

# 启动本地开发服务器(模拟 Vercel 环境)
vercel dev

# 或使用项目的开发命令
npm start

2. 预览部署测试​

# 部署到预览环境
vercel

# 获取预览 URL 测试
# 确认无误后再部署到生产
vercel --prod

3. 使用别名进行灰度发布​

# 部署新版本(预览)
vercel

# 设置临时域名测试
vercel alias <deployment-url> staging.example.com

# 确认无误后切换到生产
vercel alias <deployment-url> example.com

4. 自动化脚本​

#!/bin/bash
# deploy-production.sh

echo "🚀 开始生产部署..."

# 检查是否在 main 分支
BRANCH=$(git rev-parse --abbrev-ref HEAD)
if [ "$BRANCH" != "main" ]; then
echo "❌ 请在 main 分支上部署"
exit 1
fi

# 确保代码是最新的
git pull origin main

# 安装依赖
npm ci

# 构建测试
npm run build

# 部署到 Vercel
vercel --prod --yes

echo "✅ 部署完成!"

🔐 Token 生成和使用​

生成 Token​

  1. 访问 https://vercel.com/account/tokens
  2. 点击 "Create Token"
  3. 输入 Token 名称
  4. 选择权限范围
  5. 复制生成的 Token

在 CI/CD 中使用​

# GitHub Actions
env:
VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }}
VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }}
VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }}

# 命令行使用
export VERCEL_TOKEN=your-token
vercel --prod --yes

📚 参考资源​


🎓 学习路径​

初级​

  1. ✅ 安装 CLI 并登录
  2. ✅ 部署第一个项目
  3. ✅ 查看部署列表和日志

中级​

  1. ✅ 配置环境变量
  2. ✅ 管理域名和别名
  3. ✅ 使用 vercel.json 配置

高级​

  1. ✅ CI/CD 集成
  2. ✅ 多环境部署策略
  3. ✅ 自定义部署脚本

提示: 使用 vercel --help 或 vercel <command> --help 查看任何命令的详细帮助信息。