推出 Vercel CI

Vercel Blog 发布日期待确认

编程智能体(Coding agents)打开的拉取请求(PR)比以往任何时候都多,而每个 PR 都要等 CI 跑完,才能审查或合并。大多数 CI 系统每次推送都会跑完整套工作流,哪怕只改了一行代码。智能体推得越频繁,你等 CI 的时间就越长。

今天,我们宣布 Vercel CI 进入 Beta。它只运行受代码改动影响的任务,也只启动这些检查所需的算力,思路和 Fluid compute 根据流量伸缩一样。

在 Vercel,我们的 CI 已经能跟上编程智能体的节奏。从 git push 到“CI 通过”的耗时,比之前快了 2-6 倍。

工作原理

Vercel CI 借助 Turborepo 理解你的任务以及任务之间的依赖关系。它会读取 turbo.json。如果你已经在用 Turborepo,就不需要再写一套 CI 配置。

如果还没用 Turborepo,加上 turbo.json 和 turbo 包即可。单包仓库也能用。

接着,给希望 Vercel CI 运行的任务打上标签。

{
  "tasks": {
    "lint": {
      "tags": ["ci"]
    }

"tags": ["ci"] 就是入门所需的全部配置。不用维护 workflow YAML,CI 配置和 turbo.json 也不会各说各话,远程缓存默认开启。

你或智能体推送代码后,Vercel CI 会根据改动判断哪些任务需要运行。输入没变的任务直接走缓存。剩下的任务各自在自己的机器上运行,由 Vercel 的计算层 Hive 提供算力,并且依赖一完成就立刻启动。

CI task graph, desktop light

CI task graph, desktop dark

CI 任务图,移动端浅色模式

CI 任务图,移动端深色模式

Vercel CI 按需分配计算资源,不多不少。

在 Vercel 上运行 CI

上手前,可以先读文档,或者直接在仓库里让 AI 代理帮你配置:

为这个仓库配置 Vercel CI。执行 npx skills use vercel/ci@setup,按提示选择初始任务、配置 Vercel CI,然后提交一个 pull request。

配置完成后,你或你的代理可以通过 Vercel 控制台、Vercel CLI 或 Vercel MCP 查看和检查 CI。如果某一步失败,可以直接跳到出问题的任务,查看它阻塞了哪些后续环节、打开日志,或者跨最近的多次运行搜索结果,看某个测试是不是一整周都不稳定。

vc ci ls
vc ci inspect <run>
vc ci logs <run>
vc ci logs <run> --task web
vc ci grep "WARNING"

Vercel CI 会在 GitHub 的 pull request 上发布检查结果,你现有的分支保护规则依然可以在失败时阻止合并,和现在一样。

闭环

Vercel CI 在我们自己的仓库和私测阶段已经完成了近 800 万个任务,而这只是开始。我们正在努力继续缩短从写代码到在生产环境运行之间的时间。

在迈向正式可用(GA)的过程中,我们计划加入:

Vercel CI 目前处于 Beta 阶段,所有套餐均可使用。阅读文档,在你的仓库里试试吧。

查看原文