【问题标题】:Delete files from app service as part of Azure DevOps release pipeline作为 Azure DevOps 发布管道的一部分,从应用服务中删除文件
【发布时间】:2019-09-26 15:59:55
【问题描述】:

我们有一个 Azure DevOps 发布管道,使用部署 azure 应用服务任务来部署应用程序。

我们希望在此部署任务之前运行一个任务,以删除应用服务的 bin 文件夹中的所有文件。

我们不想删除目标上的所有文件,只删除绑定文件夹中的文件。

我看不到任何明显的任务可以让我做到这一点。任务似乎在部署服务器而不是应用服务的上下文中运行,因此无法访问应用服务文件系统。

最好的方法是什么?

【问题讨论】:

  • 只是想问一下,您是否能在哪里找到解决方案?
  • @mahlatse 不,我没有,抱歉

标签: azure azure-devops azure-web-app-service devops


【解决方案1】:

如果您希望避免不需要的文件,则在 Azure App Service Deploy 任务中有一个选项“在目标位置删除其他文件”,虽然没有明确删除 bin 文件夹内容,但将确保没有以前版本的残留物。

【讨论】:

  • 不幸的是,这不是一个可行的选择,因为我们需要服务器上的一些文件而不是工件中的文件,我们只想从 bin 中删除额外的文件
  • 这里有同样的问题。我需要在部署之前删除文件,因为我有 Nuget 包,可以删除文件并添加具有新名称的新文件。当我更新这个 Nuget 包时,我必须删除旧文件。否则我有两个文件,这与应用程序逻辑冲突。而且我也不能使用“删除附加文件”,因为媒体库文件也存储在同一位置。这些文件也将被删除。
  • @ElmarHöfinghoff 那些媒体文件不是您正在部署的软件包的一部分,所以会被添加回来吗?如果不是,那么您应该将媒体文件真正存储在其他地方,例如 blob 存储或 CDN,如果从您的应用服务以外的其他地方存储和提供服务,它也会减少您应用的负载。
  • 不,它们不是,它们是 CMS 的一部分。媒体文件由编辑作为网站内容的一部分添加,不得删除。
  • @ElmarHöfinghoff 我知道这并不能解决您的直接部署问题,但您确实应该将此类内容存储在部署 Web 应用程序代码的位置之外。您可能会发现更改可能比尝试为您的部署问题找到解决方法更简单。抱歉,我无法提供更多帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-13
  • 2019-09-28
  • 2019-08-02
  • 1970-01-01
  • 2022-12-05
  • 1970-01-01
相关资源
最近更新 更多