【发布时间】:2021-01-13 15:21:17
【问题描述】:
有时,当我们进行部署时,最后提交的扩展名为 cshtml 的文件没有更新。我们还没有看到其他类型的文件没有更新。可能是文件正在使用中并且无法覆盖。是否可以在部署过程中添加一个额外的步骤来避免这种情况?
【问题讨论】:
标签: razor azure-devops azure-web-app-service azure-pipelines azure-pipelines-tasks
有时,当我们进行部署时,最后提交的扩展名为 cshtml 的文件没有更新。我们还没有看到其他类型的文件没有更新。可能是文件正在使用中并且无法覆盖。是否可以在部署过程中添加一个额外的步骤来避免这种情况?
【问题讨论】:
标签: razor azure-devops azure-web-app-service azure-pipelines azure-pipelines-tasks
这很奇怪。如果您使用 Azure Pipelines 中的 Azure App Service Deploy 任务部署到您的 Web 应用程序,您可以选择Remove additional files at destination。启用此选项会删除 Azure 应用服务中在正在部署的应用服务工件包或文件夹中没有匹配文件的文件。
基于chosen deployment method,还有其他有用的附加部署选项,例如:
重命名锁定的文件:通过在 Azure 应用服务设置中启用 msdeploy 标志 MSDEPLOY_RENAME_LOCKED_FILES=1,重命名 Web 服务器仍在使用的任何文件。此选项(如果设置)使 msdeploy 能够重命名在应用部署期间锁定的文件。这样,您可以避免出现 ERROR_FILE_IN_USE 错误的部署失败。
使应用脱机:选择此选项可通过在同步操作开始之前将app_offline.htm 文件放在根目录中使 Azure 应用服务脱机。同步成功后,该文件将被删除。
将这些部署到位可以简化您的部署并使它们变得健壮。以下是该任务的完整参考:Azure App Service Deploy task。
【讨论】: