Service Fabric 构建中的 PDB

PDBs in Service Fabric Builds

为什么 Azure DevOps 中的 Service Fabric 构建模板默认包含将 PDB 移出 SF 包的步骤,从而阻止它们部署到集群?

在我的例子中,我希望将它们包括在内,以便例外包括行号。

虽然我可以修改(或删除)那些 PDB 步骤,但我想知道他们为什么这样做,以防我遗漏某些东西,例如我不熟悉的最佳实践。

我不知道这里有一些严格的最佳实践,但这是我根据 SF 文档得出的个人结论。

部署


从部署的角度来看,最重要的包参数之一是包大小

影响:

  1. 压缩/上传/解压缩所需的时间 - 有很多 .dll 文件会导致有很多 .pdb(一个用于每个 .dll)。这反过来会显着增加封装尺寸。大包需要更多时间来压缩、上传和解压。
  2. 存储消耗 - 这听起来很明显,但大包会消耗更多存储空间。这听起来微不足道,但当您有 10 个服务时,每个包大约 100MB(未压缩大小),您已经消耗了 1GB 的存储空间。拥有多个应用程序和多个服务可能会导致消耗大量存储空间。所以每一MB都很重要。

您可以找到一些关于主题 here 的信息。

构建管道


在我看来,.pdb 文件被复制到 artifacts 目录的原因很简单——默认模板假设您有一些进程来管理调试符号,即您可以添加额外的步骤并上传它们到符号服务器。