VercelCLI管理Skill VercelCLIManagement

Vercel CLI 管理技能用于通过命令行工具在 Vercel 平台上进行应用程序的部署、环境变量管理、日志监控和定时任务配置。它支持预览和生产环境部署,环境变量的添加、更新和移除,实时日志流式传输,以及通过 vercel.json 文件设置 cron 作业。关键词:Vercel CLI, 部署, 环境变量管理, 日志查看, cron 作业配置, DevOps, Serverless, 云计算, 命令行工具。

DevOps 0 次安装 0 次浏览 更新于 3/8/2026

名称: Vercel CLI 管理 描述: 使用 Vercel CLI 部署、管理环境变量、查看日志和配置定时任务。适用于部署到 Vercel、管理环境变量(添加/更新/移除)、查看运行时/构建日志或在 vercel.json 中配置计划任务。

Vercel CLI 管理

掌握 Vercel CLI 以进行部署、环境变量管理、日志查看和定时任务配置。

快速参考

部署

# 部署当前目录(预览)
vercel

# 部署到生产环境
vercel deploy --prod
# 或
vercel --prod

# 强制重新部署(即使未更改)
vercel deploy --force

# 使用内联环境变量部署
vercel deploy --env NODE_ENV=production -e API_KEY=secret

# 先本地构建,然后部署
vercel build
vercel deploy --prebuilt

# 重建 + 重新部署先前的部署
vercel redeploy <deployment-url-or-id>

# 将预览部署提升到生产环境
vercel promote <deployment-url-or-id>

# 回滚到先前的部署
vercel rollback <deployment-url-or-id>

# 列出所有部署
vercel list

# 获取部署信息
vercel inspect <deployment-url-or-id>

# 删除部署
vercel remove <deployment-id>

环境变量

列出

# 列出所有环境变量(默认为开发环境)
vercel env list

# 列出特定环境
vercel env list production
vercel env list preview
vercel env list development

# 列出特定 Git 分支
vercel env list production main

添加

# 添加到所有环境(交互式)
vercel env add MY_VAR
# 在提示时输入值

# 添加到特定环境
vercel env add API_TOKEN production

# 添加敏感变量(在仪表板中屏蔽)
vercel env add SECRET_KEY --sensitive

# 覆盖现有变量
vercel env add MY_VAR --force

# 为特定 Git 分支添加
vercel env add DB_URL production main

更新

# 在所有环境中更新(交互式)
vercel env update MY_VAR

# 更新特定环境
vercel env update API_TOKEN production

# 从 stdin 更新
cat ~/.npmrc | vercel env update NPM_RC production
vercel env update CONFIG production < config.json

# 标记为敏感
vercel env update SECRET_KEY --sensitive

移除

# 从所有环境中移除
vercel env remove API_TOKEN

# 从特定环境中移除
vercel env remove SECRET_KEY production

# 跳过确认
vercel env remove API_TOKEN -y

# 移除特定分支的变量
vercel env remove DB_URL production main

拉取到本地

# 拉取开发变量到 .env.local
vercel env pull

# 拉取到自定义文件
vercel env pull .env.development.local

# 拉取特定环境
vercel env pull .env.production --environment production

日志

运行时日志(实时应用程序日志)

# 流式传输运行时日志 5 分钟
vercel logs <deployment-url-or-id>

# 使用 Jupiter 部署的示例
vercel logs jupiter-qhb0ke91n-captaincrouton89s-projects.vercel.app

# 以 JSON 格式输出(用于管道到 jq)
vercel logs <deployment-url-or-id> --json

# 使用 jq 过滤
vercel logs <deployment-url-or-id> --json | jq 'select(.level == "error")'

构建日志(编译 + 部署)

# 显示部署的构建日志
vercel inspect <deployment-url-or-id> --logs

# 等待构建完成并显示日志
vercel inspect <deployment-url-or-id> --logs --wait

# 在 X 秒后超时
vercel inspect <deployment-url-or-id> --logs --timeout 90s

定时任务

定时任务仅在 vercel.json 中配置——没有 CLI 命令管理。

配置(vercel.json

{
  "crons": [
    {
      "path": "/api/cron/email-sync",
      "schedule": "*/5 * * * *"
    },
    {
      "path": "/api/cron/weekly-digest",
      "schedule": "0 0 * * 1"
    },
    {
      "path": "/api/cron/cleanup",
      "schedule": "0 2 * * *"
    }
  ]
}

定时表达式格式(标准 cron 语法,UTC 时区)

分钟 (0-59) 小时 (0-23) 月份中的日 (1-31) 月 (1-12) 星期中的日 (0-6)

示例

*/5 * * * *      每 5 分钟
0 */4 * * *      每 4 小时
0 0 * * *        每天 UTC 午夜
0 9 * * 1        每周一 UTC 9 点
0 0 1 * *        每月第一天
0 0 * * 0        每周日

重要限制

  • 不能同时使用月份中的日和星期中的日;其中一个必须为 *
  • 不支持文本替代(MON、SUN、JAN、DEC 不支持)
  • 所有时间以 UTC 为准
  • 定时任务向您的部署发出 GET 请求,用户代理为 vercel-cron/1.0

验证定时任务

  • 修改 vercel.json 并重新部署:vercel deploy --prod
  • 在仪表板中查看状态:项目 → 设置 → 定时任务
  • 监控日志:vercel logs <deployment-url>

常见工作流

部署带环境变量

交互式

# 部署并交互式设置变量
vercel env add NODE_ENV
vercel env add LOG_LEVEL
vercel deploy --prod

命令行

# 单次部署带环境变量
vercel deploy --prod -e NODE_ENV=production -e LOG_LEVEL=debug

修复失败部署

# 检查问题
vercel inspect <deployment-id> --logs

# 修复代码或配置,然后重新部署
# 选项 1:构建并部署更改的代码
vercel deploy --prod

# 选项 2:使用修复重建先前部署
vercel redeploy <deployment-id> --target production

# 选项 3:回滚到上次已知良好状态
vercel rollback <deployment-id>

监控实时应用程序

# 查看最近运行时日志(5 分钟窗口,实时流)
vercel logs my-app-xyz.vercel.app

# 仅过滤错误
vercel logs my-app-xyz.vercel.app --json | jq 'select(.level == "error")'

# 跟踪特定定时任务执行
vercel logs my-app-xyz.vercel.app --json | jq 'select(.path == "/api/cron/email-sync")'

环境变量工作流

# 为生产环境添加秘密
vercel env add DATABASE_URL production
vercel env add API_KEY production --sensitive

# 拉取开发变量到本地
vercel env pull .env.local

# 更新后轮换
vercel env update API_KEY production

# 移除已弃用变量
vercel env remove OLD_TOKEN -y

调试定时任务

# 1. 验证 vercel.json 中的配置
cat vercel.json

# 2. 部署更改
vercel deploy --prod

# 3. 监控日志中的执行
vercel logs <deployment-url> --json | jq 'select(.path == "/api/cron/your-route")'

# 4. 在仪表板中检查定时任务日志
# 项目 → 设置 → 定时任务 → 查看日志按钮

重要注意事项

部署目标

  • 生产环境:分配给项目域,无实时预览
  • 预览环境:自动生成的 URL,提升前实时预览
  • 开发环境:使用 vercel dev 本地测试

环境范围

  • production - 生产环境
  • preview - 预览/暂存部署
  • development - 本地 .env.local 文件
  • Git 分支 - 特定分支覆盖

API 速率限制

  • 检查仪表板以获取每团队限制
  • 重新部署和提升可能有单独限制

定时任务的用户代理检测

  • Vercel 定时请求包括:User-Agent: vercel-cron/1.0
  • 用于身份验证:if (req.headers['user-agent'] === 'vercel-cron/1.0')

来自真实项目的示例

Jupiter 邮件项目

{
  "crons": [
    {
      "path": "/api/cron/email-sync",
      "schedule": "*/5 * * * *"
    },
    {
      "path": "/api/cron/weekly-digest",
      "schedule": "0 0 * * 1"
    },
    {
      "path": "/api/cron/delete-old-emails",
      "schedule": "0 0 * * *"
    }
  ]
}

部署使用:vercel deploy --prod