razor - Azure DevOps 部署并不总是覆盖 cshtml 文件
问题描述
有时会发生,当我们进行部署时,最后提交的扩展名为 cshtml 的文件没有更新。我们还没有看到其他类型的文件没有更新。可能是文件正在使用中并且无法被覆盖。是否可以在部署过程中添加一个额外的步骤来避免这种情况?
解决方案
这很奇怪。如果您使用 Azure Pipelines 中的 Azure App Service Deploy 任务部署到您的 Web 应用程序,您可以选择Remove additional files at destination。启用此选项会删除 Azure 应用服务中在正在部署的应用服务项目包或文件夹中没有匹配文件的文件。
根据选择的部署方法,还有其他有用的附加部署选项,例如:
重命名锁定的文件:
MSDEPLOY_RENAME_LOCKED_FILES=1
通过启用Azure 应用服务设置中的 msdeploy 标志来重命名 Web 服务器仍在使用的任何文件。此选项(如果设置)使 msdeploy 能够重命名在应用部署期间锁定的文件。这样,您可以避免部署失败并ERROR_FILE_IN_USE
出现错误。使应用程序脱机:选择此选项可通过
app_offline.htm
在同步操作开始之前将文件放在根目录中使 Azure 应用程序服务脱机。同步成功完成后,该文件将被删除。
拥有这些可以简化您的部署并使其健壮。以下是该任务的完整参考:Azure App Service Deploy task。
推荐阅读
- javascript - 如何将我的一个文件 processing.js 游戏制作成 .exe 文件?
- zend-framework3 - Zend Framework 3 补水器
- amazon-web-services - checkip.amazonaws.com 什么情况下会返回多个地址?
- javascript - 我可以为溢出的 div 设置动画吗?
- c - 用户输入零以表示 C 中的输入结束
- javascript - 使用 Google Script 用数组填充 Google Sheet 行 – 范围宽度不正确
- ssl - 外挂。如何验证服务器证书?
- realm - Realm Object Server v3.9.1 - 无法删除多条记录(行)
- akka-stream - akka 流 - 使用 conflate 时触发元素流
- xslt - 问题 - 使用变量中的值对多个 XML 文件进行 XSL 搜索