VSTS CI在部署时将Azure App Service置于脱机状态

时间:2017-08-10 12:27:14

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

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

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

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”的值,但仍然不起作用。

2 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分:1)

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