【问题标题】:VSTS CI Put Azure App Service offline while deployingVSTS CI 在部署时使 Azure 应用服务脱机
【发布时间】:2017-08-10 12:27:13
【问题描述】:

目前我正在尝试使用 VSTS 构建 CI 和 CD。我有 ASP.NET Core 1.1 应用程序,我尝试在 Azure 应用服务部署槽中部署。

当我第一次运行它时,它工作正常,但第二次抛出异常。下面是一个带有图片的示例,抛出的异常是针对正在使用的文件,在这种情况下我应该重新启动我的服务器。

screenshot of log with publish exception

我不想做的是总是手动重新启动服务器,甚至我也不想使用 PowerShell 脚本重新启动它。

我想要实现的是,在部署开始之前将其离线,然后在完成后再次在线。我正在阅读其他类似的问题,但没有有效的 powershell 脚本,我可以分两步分解。我不确定应该如何将我的应用服务配置为离线。

是否有任何用于上传文件和删除文件的 VSTS 扩展(适用于 app_offline.htm)或者可以上传然后删除的 powershell 脚本 文件?

其他选项是添加

<EnableMSDeployAppOffline>true</EnableMSDeployAppOffline>

在我的个人资料中,但我没有通过 VS 发布我的项目。 VSTS CI 已在分支提交时触发。

我该如何进行,您有什么建议?

提前致谢。

编辑 1 也尝试添加

/p:EnableMSDeployAppOffline=true /p:MSDeployUseChecksum=true\

在 CI 的 Build 步骤中,作为属性“MSBuild Arguments”的值,但仍然不起作用。

【问题讨论】:

    标签: asp.net azure continuous-integration azure-devops azure-web-app-service


    【解决方案1】:

    您可以添加构建定义步骤来打开/关闭服务或powershell脚本

    【讨论】:

      【解决方案2】:

      您需要使用Take App Offline 部署参数。描述here

      通过在部署开始前将 app_offline.htm 文件放置在根目录中来设置此选项以使网站或应用程序脱机。同步操作成功完成后,该文件将被删除。

      转到构建步骤的Additional Deployment Options 并选中该复选框。

      【讨论】:

      • 你的意思是手动上传“app_offline.htm”到azure应用服务根目录还是源码目录?
      • 不,请阅读我的答案或链接页面。有一个名为 Take App Offline 的构建步骤的属性
      • 我想我做到了,启用复选框并在根目录上传app_offline.htm,现在构建成功。当前的问题是构建后 app_offline.htm 不会自动删除。所以即使完成后,在“/site/wwwroot/”里面我有.htm文件
      • 我认为您不应该使用此选项提供自己的 app_offline.htm。此选项创建文件,然后在部署后将其删除。但是,由于除了标题之外页面只是空白,因此能够使用自定义页面会很好......但似乎没有人知道如何。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-15
      • 2019-01-18
      • 2021-06-30
      • 1970-01-01
      • 1970-01-01
      • 2017-02-20
      相关资源
      最近更新 更多