【问题标题】:What does "destination" means on Deployment "Remove Additional Files"“目标”在部署“删除附加文件”上意味着什么
【发布时间】:2019-08-02 11:34:17
【问题描述】:

我想在部署时替换文件。因为每个文件名都是动态生成的,所以它们只是添加到文件夹中,而不是替换现有的。

我遇到了这个“删除附加文件”默认 false,可能是我的问题的解决方案。

但是,在阅读描述时,“目的地”有点模糊。文档here

当 True 指示 Web 部署从目标中删除文件时 源包中没有的

“目的地”是否与物理路径有关?

【问题讨论】:

  • “替换文件”是什么意思?部署前要清除文件夹吗?
  • 是的,但仅适用于要部署在物理路径中的项目。
  • 如果您选择Custom Installation Directory 步骤,将会有一个“Purge”选项。否则我认为您可能需要包含一个预部署 PS 脚本。

标签: octopus-deploy octopus


【解决方案1】:

,目的地将是物理路径设置的值。

我认为对您有价值的设置是文件比较方法。它指示将进行比较以确定哪些文件(如果有)应由软件包更新的算法。

This 链接是一篇博客文章,其中讨论了时间戳和校验和算法。我在下面包含了这篇文章的一部分。

时间戳而不是校验和

在 Octopus 3.0 中,我们决定制作 校验和是同步文件的默认(也是唯一选择) 网络部署。使用校验和,我们只会部署具有 实际改变了,不需要任何特殊配置。这 减少后续部署所需的时间和带宽,以 同一个网络应用程序。这非常适合中等大小的 应用程序,但正如我们发现的那样,变得异常缓慢并且 对于大型应用程序不可靠。

如果您发现自己处于这种情况,您可以切换到使用 使用 Octopus Deploy 进行文件比较而不是校验和的时间戳 3.3.3 或更新版本。

时间戳

如果您有任何现有的 Azure Web 应用步骤,则需要更新 他们使用时间戳并创建一个新版本。任何新的 Azure Web 应用 您创建的步骤将默认使用时间戳,但您始终可以 如果更适合您的需求,请切换到校验和。

如果您更喜欢校验和,我们计划升级到 Microsoft.Web.Deployment.3.6.0,其中有几个错误修复 校验和比较。

保留时间戳

对文件使用时间戳的缺点 比较就是可靠性——你很容易得到误报—— 这就是校验和如此吸引人的原因。如果您使用的是 NuGet 包 文件解压后时间戳会丢失 这意味着每个文件似乎都较新,并且无论如何都会上传 它是否已经改变 - 更多细节。要解决此问题,请考虑 使用 zip 包 - 我们有自动化测试来证明时间戳 通过您的部署端到端保留。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-10
    • 2023-03-10
    • 2020-10-06
    • 2012-03-17
    相关资源
    最近更新 更多