内容提要
Vercel推出CI测试版,借助Turborepo仅运行受代码变更影响的任务并按需分配计算资源,使推送至CI的通过速度提升2-6倍。用户在turbo.json中为任务添加“ci”标签即可启用,无需维护工作流配置,远程缓存默认开启。支持通过仪表盘、CLI或MCP查看和排查CI运行,并在GitHub PR上发布检查结果。该功能已运行近800万任务,目前所有套餐均可试用。
延伸解读
从全量运行到按需执行:CI 效率的关键转变
文章指出,多数 CI 系统每次推送都运行完整工作流,即使只改一行代码。Vercel CI 借助 Turborepo 分析任务依赖,只运行受代码变更影响的任务,未变化的任务直接走缓存。这种按需分配计算资源的方式,让推送至 CI 通过的耗时比之前快 2-6 倍。对于频繁推送的编码代理场景,减少等待时间意味着评审和合并能更早开始。
配置极简:一个标签替代工作流文件
启用 Vercel CI 只需在 turbo.json 中为任务添加“ci”标签,无需维护独立的 workflow YAML,也避免了 CI 配置与 turbo.json 之间的漂移。远程缓存默认开启,进一步减少重复计算。对于已使用 Turborepo 的团队,迁移成本很低;未使用的团队添加 turbo.json 和 turbo 包即可,单包仓库同样适用。
排查体验:从失败任务直达日志与历史
Vercel CI 提供仪表盘、CLI 和 MCP 三种查看方式。失败时可直接定位到具体任务,查看被阻塞的后续任务及其日志,还能跨近期运行搜索某个字符串,判断测试是否长期不稳定。CLI 命令如 vc ci ls、vc ci inspect、vc ci logs 和 vc ci grep 覆盖了列表、检查、日志和搜索。GitHub PR 上会发布检查结果,现有分支保护规则可继续阻止失败合并。
当前阶段与后续方向
Vercel CI 目前处于 Beta,所有套餐均可试用,已运行近 800 万任务。官方计划在正式可用前增加高级可观测性、推送前分布式执行的 vc ci CLI 命令,以及更细粒度的测试选择。这些规划表明当前版本已覆盖基本 CI 流程,但在执行前预检和测试筛选精度上仍有提升空间,读者可关注后续更新。
Q&A
Vercel CI 是什么?它主要解决什么问题?
Vercel CI 是 Vercel 推出的 CI 测试版,它只运行受代码变更影响的任务,并按需分配计算资源,从而解决传统 CI 每次推送都运行完整工作流导致的等待时间过长问题。
Vercel CI 如何决定运行哪些任务?
Vercel CI 使用 Turborepo 分析任务依赖关系,读取 turbo.json 配置,根据代码变更确定需要运行的任务。输入未变化的任务直接从缓存获取结果,其余任务在独立机器上并行执行。
启用 Vercel CI 需要编写额外的配置文件吗?
不需要。只需在 turbo.json 中为需要运行的任务添加 "tags": ["ci"] 即可,无需维护工作流 YAML,远程缓存默认开启。
Vercel CI 相比传统 CI 能提速多少?
根据 Vercel 内部使用数据,从 git push 到“CI 通过”的时间比之前快 2-6 倍。
如何查看和排查 Vercel CI 的运行情况?
可以通过 Vercel 仪表盘、Vercel CLI 或 Vercel MCP 查看和检查 CI 运行。CLI 提供 vc ci ls、vc ci inspect、vc ci logs 等命令,支持查看任务日志、搜索日志内容。
Vercel CI 如何与 GitHub 拉取请求集成?
Vercel CI 会在 GitHub 的拉取请求上发布检查结果,现有的分支保护规则可以在检查失败时阻止合并,与现有工作流一致。
Vercel CI 目前处于什么阶段?哪些套餐可以使用?
Vercel CI 目前处于 Beta 阶段,所有套餐均可试用。它已在 Vercel 自己的仓库和私有测试中完成了近 800 万个任务。