Orbit
查看构建日志
Every Orbit deployment keeps its complete build log, plus a structured breakdown of what the build did and how long each phase took. This guide covers where to find the log, how to read the…
查看每个 Orbit 部署的完整构建日志,以及构建执行内容和各个阶段耗时的结构化分析。本指南介绍了日志的位置、如何读取相关元数据,以及 Orbit 为您对日志运行的分析。
查看最新部署的日志
在 Orbit 中打开项目。Overview 选项卡上的 Latest build 面板显示最近部署的日志。如果构建正在运行,日志会随着构建代理生成内容而实时流式传输,逐行显示。
点击 Full details 打开完整部署详情页面。

查看特定部署的日志
- 在 Orbit 中打开您的项目。
- 打开 Deployments 选项卡。
- 点击任何部署以打开其详情页面。
- 完整构建日志位于该页面上。
Overview 选项卡上的 Recent deployments 列表在每一行都有一个 View logs 链接,指向同一位置。预览部署在 Preview deployments 部分中也有相同的链接。
构建阶段
详情页面将构建分为具有各自持续时间的命名阶段:
| 阶段 | 发生的情况 |
|---|---|
| Clone | 在部署的提交处获取您的存储库 |
| Cache restore | 解包缓存的 node_modules,在具有构建缓存的计划上 |
| Install | 运行您的安装命令 |
| Cache save | 为下一个构建重新打包 node_modules |
| Build | 运行您的构建命令 |
| Upload | 打包输出目录并存储工件 |
| Done | 工件已在流量前面 |
这是快速回答"为什么该构建很慢"的最快方式。带有 Cold build 徽章的长 Install 阶段表示缓存未命中。长 Build 阶段表示您自己的构建变慢了。
构建元数据
日志上方的卡片显示有关部署的事实:
| 卡片 | 显示内容 |
|---|---|
| Status | 已排队、构建中、部署中、成功、失败、已取消、已回滚或等待审批 |
| Commit | 此部署构建的提交,链接到提供商 |
| Branch | 它来自的 git 分支 |
| Author | 推送提交的人 |
| Build time | 总耗时,根据您自己的历史记录有快速、正常或慢速评级 |
| Artifact | 打包输出大小,带有下载链接 |
| Framework | Orbit 检测到的框架 |
| Package manager | npm、yarn 或 pnpm,从您的锁定文件检测 |
| Build cache | Cache hit 或 Cold build |
| Build host | 运行它的构建主机 |
| Queue position | 部署仍在排队时的队列位置 |
| Pull request | 预览部署的 PR 编号 |
| Health score | 满分 100 的分数,包含扣分明细 |
Orbit 对日志运行的分析
详情页面不仅仅是文本转储。Orbit 解析日志并显示重要内容。
- 构建时间线,包含每个阶段的持续时间。
- 检测到的缓慢构建,当构建明显慢于您自己的中位数时,显示百分比和从最后 10 个构建中得出的典型时间。
- TypeScript 错误,在构建因类型检查失败时提取和计数。
- Next.js 构建分析:单个路由大小、首次加载 JS,以及静态、动态和 ISR 路由计数。
- 捆绑包回归警告,当路由的首次加载 JS 与上一个部署相比增加超过 20%,或共享 JS 捆绑包增加时。
- npm audit 结果直接从安装输出中解析,按严重程度汇总。
- 安全标头审计满分 60 分。
- 烟雾测试结果,如果您配置了烟雾测试路径。
- 性能预算超过,如果您设置了预算。
- 构建优化顾问,列出具体的更改和估计的大小节省,按影响排名。
- 真实用户指标,该部署处于活跃状态时记录的 p75 Core Web Vitals。
构建实际看到的环境变量
详情页面列出了在构建时注入的环境变量 键,并将其与您的当前配置进行比较:添加、更改、删除、未更改。青色键来自环境特定的覆盖,灰色键来自项目级别。
值永远不会被存储,也永远不会被显示。悬停在某个键上会显示一个 SHA-256 指纹,足以确认两个环境具有相同的值而不会泄露它。
这个差异是快速回答"我的环境变量更改是否确实进入了构建"的最快方式。如果部署早于此更改,Orbit 会显示 Environment variables updated since this deployment 通知,并提醒您该更改在您重新部署之前不会生效。
比较两个部署
点击部署上的 Compare 以将其与上一个部署进行比较:构建时间、工件大小、缓存状态、框架和文件级工件差异。这是快速找到"实际发生了什么变化"的最快方式,当部署的行为与前一个部署不同时。
构建失败时
状态卡变为失败,日志显示它停止的位置。在日志上方,Orbit 添加了一个分类的失败摘要以及建议的修复。已识别的类别包括内存不足、编译错误、测试失败、lint 错误、安装错误、网络错误和超时,Orbit 匹配特定的模式,例如缺少的模块、ERESOLVE 对等依赖冲突、TypeScript 错误代码、磁盘满和过期的锁定文件。
还有一个 Get AI diagnosis 按钮,它读取日志的最后 120 行以及检测到的框架和失败类别,并返回一个纯文本解释。
AI 诊断被标记为 AI-generated, verify before acting 是有原因的。它非常善于指出日志的正确行,但它对您的代码库没有权威性。在您更改任何内容之前,请阅读它所指的日志行。
重试失败的构建
在部署详情页面上,点击 Retry build 重新运行相同的提交而无需推送新的提交。这可以修复诸如安装期间网络错误之类的瞬时失败。
如果您怀疑有陈旧的缓存依赖,请使用 More retry options,然后点击 Retry with cleared cache,它会在重试之前删除构建缓存。
完整的逐个失败指导位于 故障排除失败的构建。
取消正在运行的构建
在构建运行时点击 Cancel。
取消会立即终止构建机器,无法撤销。部署被记录为 Cancelled,以前处于活跃状态的部署继续提供流量,所以取消永远不会导致您的网站下线。请注意,在构建运行时推送新提交到同一分支会自动取消飞行中的构建,所以已取消的部署后面跟着正在运行的部分是正常的。
下载工件
每个成功的部署都会保留其打包的输出。点击 Artifact 卡上的 Download 以拉取确切的提供服务的捆绑包。还有一个工件浏览器用于检查内容而无需下载整个内容。
工件保留多长时间在 Settings 中设置,在 Artifact retention 下:每个环境要保留的成功工件数,从 10 到 500,默认为 50。较旧的工件每天被删除。当前处于活跃状态的部署的工件始终会被保留,无论设置如何。
工件保留使回滚成为可能。设置得太低会缩短您可以回滚坏部署的距离,而无需重建。如果您每天部署多次,提高它而不是降低它。