什么是工件包
了解工件包。
本文解释了工件包(Artifact Bundles)的内部工作原理及其使用的影响。如果您想了解如何上传源映射,请访问 上传源映射。
Sentry 使用 工件包 来管理堆栈跟踪的解压缩。从高层次来看,一个包包含所有最小化源文件和源映射文件(统称为 工件),这些是 Sentry 解压缩堆栈跟踪帧所需的。
工件包是我们新的包格式,旨在通过 添加对调试 ID 的支持 和 移除创建 release
的需要 来解决旧版发布包的不足。
工件包通过使用一种新的识别机制——调试 ID(Debug IDs)来解决路径匹配的挑战。我们不再依赖路径,而是通过调试 ID(UUID)唯一标识并绑定最小化源文件和源映射文件对。通过这种方式,我们可以快速识别最小化源文件及其对应的源映射文件,而无需检查任何路径。因此,您不必担心路径配置错误。
当使用 sentry-cli 或 Webpack、Vite 或 Rollup 打包插件时,调试 ID 是根据源文件内容确定性生成的。目前 esbuild 不支持确定性调试 ID。
如果您想了解更多关于调试 ID 背后的原理,我们建议您阅读我们的 工程博客。
由于您可能仍然希望知道某个特定的工件包连接到哪个发布版本,我们设计了一种新方法来将 release
关联到您的包。
新的工件包格式支持一种新的关联类型,称为弱发布关联,它可以将 release
和可选的 dist
关联到包。这种关联类型 不需要在上传源映射之前创建 release
,从而允许在管道的后续步骤中单独创建 release
。
通过关联 release
和可选的 dist
,您可以快速从 Sentry 中的 release
跳转到相应的工件包,而不必担心哪些工件包用于您的错误。
工件包的保留期为 90 天,采用 空闲时间到期 机制。 这意味着上传的工件包会在它们被用于事件处理期间一直保留。 一旦工件包在过去 90 天内未被用于处理传入事件, 它将自动过期并有资格被删除。