【问题标题】:PDBs in Service Fabric BuildsService Fabric 构建中的 PDB
【发布时间】:2019-05-20 03:57:48
【问题描述】:

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

就我而言,我希望它们包括在内,因此例外情况包括行号。

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

【问题讨论】:

    标签: azure-devops azure-service-fabric azure-pipelines


    【解决方案1】:

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

    部署


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

    影响:

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

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

    构建管道


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

    【讨论】:

    • 从部署级别来看这是有道理的,但是为什么不直接删除 PDB 呢?为什么它会移动它们,但仍将它们包含在工件中?
    • @NathanA 我已经更新了关于构建管道的答案。
    猜你喜欢
    • 2017-03-06
    • 2018-01-28
    • 2015-12-24
    • 2017-06-04
    • 1970-01-01
    • 2019-11-30
    • 2018-07-04
    • 2016-04-30
    • 2018-07-11
    相关资源
    最近更新 更多