Service Fabric 构建中的 PDB
PDBs in Service Fabric Builds
为什么 Azure DevOps 中的 Service Fabric 构建模板默认包含将 PDB 移出 SF 包的步骤,从而阻止它们部署到集群?
在我的例子中,我希望将它们包括在内,以便例外包括行号。
虽然我可以修改(或删除)那些 PDB 步骤,但我想知道他们为什么这样做,以防我遗漏某些东西,例如我不熟悉的最佳实践。
我不知道这里有一些严格的最佳实践,但这是我根据 SF 文档得出的个人结论。
部署
从部署的角度来看,最重要的包参数之一是包大小。
影响:
- 压缩/上传/解压缩所需的时间 - 有很多
.dll
文件会导致有很多 .pdb
(一个用于每个 .dll
)。这反过来会显着增加封装尺寸。大包需要更多时间来压缩、上传和解压。
- 存储消耗 - 这听起来很明显,但大包会消耗更多存储空间。这听起来微不足道,但当您有 10 个服务时,每个包大约 100MB(未压缩大小),您已经消耗了 1GB 的存储空间。拥有多个应用程序和多个服务可能会导致消耗大量存储空间。所以每一MB都很重要。
您可以找到一些关于主题 here 的信息。
构建管道
在我看来,.pdb
文件被复制到 artifacts 目录的原因很简单——默认模板假设您有一些进程来管理调试符号,即您可以添加额外的步骤并上传它们到符号服务器。
为什么 Azure DevOps 中的 Service Fabric 构建模板默认包含将 PDB 移出 SF 包的步骤,从而阻止它们部署到集群?
在我的例子中,我希望将它们包括在内,以便例外包括行号。
虽然我可以修改(或删除)那些 PDB 步骤,但我想知道他们为什么这样做,以防我遗漏某些东西,例如我不熟悉的最佳实践。
我不知道这里有一些严格的最佳实践,但这是我根据 SF 文档得出的个人结论。
部署
从部署的角度来看,最重要的包参数之一是包大小。
影响:
- 压缩/上传/解压缩所需的时间 - 有很多
.dll
文件会导致有很多.pdb
(一个用于每个.dll
)。这反过来会显着增加封装尺寸。大包需要更多时间来压缩、上传和解压。 - 存储消耗 - 这听起来很明显,但大包会消耗更多存储空间。这听起来微不足道,但当您有 10 个服务时,每个包大约 100MB(未压缩大小),您已经消耗了 1GB 的存储空间。拥有多个应用程序和多个服务可能会导致消耗大量存储空间。所以每一MB都很重要。
您可以找到一些关于主题 here 的信息。
构建管道
在我看来,.pdb
文件被复制到 artifacts 目录的原因很简单——默认模板假设您有一些进程来管理调试符号,即您可以添加额外的步骤并上传它们到符号服务器。