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 部署详情页面上的构建日志

查看特定部署的日志

  1. 在 Orbit 中打开您的项目。
  2. 打开 Deployments 选项卡。
  3. 点击任何部署以打开其详情页面。
  4. 完整构建日志位于该页面上。

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打包输出大小,带有下载链接
FrameworkOrbit 检测到的框架
Package managernpm、yarn 或 pnpm,从您的锁定文件检测
Build cacheCache hitCold 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。较旧的工件每天被删除。当前处于活跃状态的部署的工件始终会被保留,无论设置如何。

工件保留使回滚成为可能。设置得太低会缩短您可以回滚坏部署的距离,而无需重建。如果您每天部署多次,提高它而不是降低它。

相关阅读

仍需帮助?

请发送邮件至 support@kapsulehost.com 或在 KPanel 中打开聊天。

打开 KPanel
查看构建日志